项目作者: dhorions

项目描述 :
Json api for SAP JCO ( SAP Java Connector 3.x)
高级语言: Java
项目地址: git://github.com/dhorions/jcoSon.git
创建时间: 2014-12-01T16:11:33Z
项目社区:https://github.com/dhorions/jcoSon

开源协议:Apache License 2.0

下载


jcoSon

Json api for SAP JCO ( SAP Java Connector 3.x )

This will allow you to call SAP BAPIs and function modules using json.
Both the parameters you pass to the function modules and the results you get back will be in json format.

Examples :

  1. Pass simple values to a BAPI
    1. {
    2. "BANKKEY": "083000108",
    3. "BANKCOUNTRY": "US"
    4. }
    1. jcoSon jco = new jcoSon(destination.getRepository().getFunction("BAPI_BANK_GETDETAIL"));
    2. jco.setParameters("{\"BANKKEY\":\"083000108\",\"BANKCOUNTRY\":\"US\"}");
    3. String resultJson = jco.execute(destination);
    4. System.out.println("Results :"+ resultJson);
  1. {
  2. "BANK_ADDRESS": {
  3. "BANK_NAME": "First Union Bank & Trust",
  4. "REGION": "IL",
  5. "STREET": "500 Main Street",
  6. "CITY": "Chicago",
  7. "SWIFT_CODE": "",
  8. "BANK_GROUP": "",
  9. "POBK_CURAC": "",
  10. "BANK_NO": "083000108",
  11. "POST_BANK": "",
  12. "BANK_BRANCH": "Main Office",
  13. "ADDR_NO": ""
  14. },
  15. "BANK_DETAIL": {
  16. "CREAT_DATE": "Fri Jan 03 00:00:00 CET 1997",
  17. "CREATOR": "GRAVEN",
  18. "METHOD": "",
  19. "FORMATTING": "",
  20. "BANK_DELETE": ""
  21. }
  22. }

2.Pass Structure to a BAPI

  1. {
  2. "USERNAME": "TESTUSER",
  3. "ADDRESS":
  4. {
  5. "FIRSTNAME": "New First Name"
  6. },
  7. "ADDRESSX":
  8. {
  9. "FIRSTNAME": "X"
  10. }
  11. }
  1. jcoSon jco = new jcoSon(destination.getRepository().getFunction("BAPI_USER_CHANGE"));
  2. jco.setParameters("{\"USERNAME\":\"TESTUSER\",\"ADDRESS\":{\"FIRSTNAME\":\"New First Name\"},\"ADDRESSX\":{\"FIRSTNAME\":\"X\"}}");
  3. String resultJson = jco.execute(destination);
  4. System.out.println("Results :"+ resultJson);
  1. {
  2. "RETURN": [
  3. {
  4. "TYPE": "S",
  5. "ID": "01",
  6. "NUMBER": "039",
  7. "MESSAGE": "User TESTUSER has changed",
  8. "LOG_NO": "",
  9. "LOG_MSG_NO": "000000",
  10. "MESSAGE_V1": "TESTUSER",
  11. "MESSAGE_V2": "",
  12. "MESSAGE_V3": "",
  13. "MESSAGE_V4": "",
  14. "PARAMETER": "",
  15. "ROW": 0,
  16. "FIELD": "",
  17. "SYSTEM": "XXXCLNT000"
  18. }
  19. ]
  20. }

3.Pass Table to a BAPI

  1. {
  2. "QUERY_TABLE": "USR02",
  3. "DELIMITER": ",",
  4. "OPTIONS": [
  5. {
  6. "TEXT": "BNAME LIKE 'TEST%'"
  7. }
  8. ],
  9. "FIELDS": [
  10. {
  11. "FIELDNAME": "BNAME"
  12. },
  13. {
  14. "FIELDNAME": "CLASS"
  15. }
  16. ]
  17. }
  1. jcoSon jco = new jcoSon(destination.getRepository().getFunction("RFC_READ_TABLE"));
  2. jco.setParameters("{\"QUERY_TABLE\":\"USR02\",\"DELIMITER\":\",\",\"OPTIONS\":[{\"TEXT\":\"BNAME LIKE 'TEST%'\"}],\"FIELDS\":[{\"FIELDNAME\":\"BNAME\"},{\"FIELDNAME\":\"CLASS\"}]}");
  3. String resultJson = jco.execute(destination);
  4. System.out.println("Results :"+ resultJson);
  1. {
  2. "DATA": [
  3. {
  4. "WA": "TESTUSER ,DEVELOPER"
  5. },
  6. {
  7. "WA": "TEST_001 ,TEST"
  8. },
  9. {
  10. "WA": "TEST_001 ,TEST"
  11. }
  12. ]
  13. }