当前位置:首页 > Web开发 > 正文

LS_INPUT TYPE ZSLIFNR

2024-03-31 Web开发

法式:创建企业处事代办代理类—SM59配置—LPCONFIG配置逻辑端口—接口挪用要领类

1.1创建企业处事代办代理类:

1.1.1

技术图片

1.1.2

技术图片

1.1.3

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

1.2 SM59配置  最后生存即可

技术图片

技术图片

技术图片

1.3 LPCONFIG配置逻辑端口

   

技术图片

技术图片

技术图片

技术图片

技术图片

1.4接口挪用要领类

*"----------------------------------------------------------------------

*"*"本地接口:

*"  IMPORTING

*"     VALUE(INPUTCOLLECTION) TYPE  ZMIP_OSB_MIP_MIP_HQ_IMPORT_CA1

*"       OPTIONAL

*"  EXPORTING

*"     VALUE(E_TYPE) TYPE  CHAR2

*"     VALUE(E_MSG) TYPE  CHAR255

*"     VALUE(OUTPUTPARAMETERS) TYPE  ZMIP_OSB_MIP_MIP_HQ_IMPORT_CAN

*"----------------------------------------------------------------------

DATA:ESB_MIP_CO_OSB TYPE REF TO ZMIP_CO_OSB_MIP_MIP_HQ_IMPORT,

OBJ_EXCEPTION TYPE REF TO CX_AI_SYSTEM_FAULT,

L_OUTPUT TYPE ZMIP_OSB_MIP_MIP_HQ_IMPORT_CAN,

L_INPUT  TYPE ZMIP_OSB_MIP_MIP_HQ_IMPORT_CA1.

DATA: ERRORTEXT TYPE STRING.

*INPUTCOLLECTION-PAYLOAD-INPUTCOLLECTION-INPUTCOLLECTION_ITEMs

****Set the input parameter into the Request of the SOAP Object

****Create the Proxy and Clall it.

CREATE OBJECT ESB_MIP_CO_OSB.

TRY.

CALL METHOD ESB_MIP_CO_OSB->PROCESS

EXPORTING

INPUT  = INPUTCOLLECTION

IMPORTING

OUTPUT = OUTPUTPARAMETERS.

CATCH CX_AI_SYSTEM_FAULT INTO OBJ_EXCEPTION .

CALL METHOD OBJ_EXCEPTION->GET_TEXT

RECEIVING

RESULT = ERRORTEXT.

E_TYPE    = ‘E‘.

E_MSG = ERRORTEXT.

EXIT.

ENDTRY.

2.被挪用

法式:创建RFC函数—创建该函数的企业处事出产URL(WSDL)—SOAMANAGER配置

2.1

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

技术图片

被挪用代码(json格局转换):

FUNCTION ZFM_ESB_LIFNR_MAINTAIN_OL.

*"----------------------------------------------------------------------

*"*"本地接口:

*"  IMPORTING

*"     VALUE(MSGHEADER) TYPE  ZSESB_MSGHEADER OPTIONAL

*"     VALUE(INPUTCOLLECTION) TYPE  ZINPUTCOLLECTION OPTIONAL

*"  EXPORTING

*"     VALUE(OUTPUTPARAMETERS) TYPE  ZSESB_OUT_OL

*"----------------------------------------------------------------------

DATA: ZINPUTCOLLECTION TYPE ZESB_INPUT_JSON_MAINTAIN,

ZOUTPUTPARAMETERS TYPE ZSESB_OUT_LIFNR_MAINTAIN,

LS_INPUT       TYPE ZSLIFNR,

LS_INPUTJSON   TYPE STRING,

LS_OUTPUTJSON  TYPE STRING,

ERRORTEXT      TYPE STRING.

DATA: JSON_SER TYPE REF TO CL_TREX_JSON_SERIALIZER,

JSON_DES TYPE REF TO CL_TREX_JSON_DESERIALIZER.

DATA CX_TREX TYPE REF TO CX_TREX_SERIALIZATION.

DATA: OBJ_EXCEPTION TYPE REF TO CX_AI_SYSTEM_FAULT.

*  ls_inputjson = msgheader-input_json.

*  DATA:ZINPUTCOLLECTION TYPE

*  DATA:LT_ITEM TYPE ZTINPUTCOLLECTION .

DATA:LW_ITEM TYPE ZSINPUTCOLLECTION .

LW_ITEM = INPUTCOLLECTION-INPUTCOLLECTION_ITEM.

*  READ TABLE LT_ITEM INTO LW_ITEM INDEX 1.

LS_INPUTJSON = LW_ITEM-INPUT_JSON.

TRANSLATE LS_INPUTJSON  TO UPPER CASE.

REPLACE ALL OCCURRENCES OF ‘"LIFNR"‘  IN LS_INPUTJSON WITH ‘lifnr‘.

REPLACE ALL OCCURRENCES OF ‘"BUKRS"‘  IN LS_INPUTJSON WITH ‘bukrs‘.

REPLACE ALL OCCURRENCES OF ‘"EKORG"‘    IN LS_INPUTJSON WITH ‘ekorg‘.

REPLACE ALL OCCURRENCES OF ‘"KTOKK"‘    IN LS_INPUTJSON WITH ‘ktokk‘.

REPLACE ALL OCCURRENCES OF ‘"AKONT"‘       IN LS_INPUTJSON WITH ‘akont‘.

REPLACE ALL OCCURRENCES OF ‘"TITLE"‘  IN LS_INPUTJSON WITH ‘title‘.

REPLACE ALL OCCURRENCES OF ‘"NAME1"‘  IN LS_INPUTJSON WITH ‘name1‘.

REPLACE ALL OCCURRENCES OF ‘"NAME2"‘    IN LS_INPUTJSON WITH ‘name2‘.

REPLACE ALL OCCURRENCES OF ‘"SORTL"‘    IN LS_INPUTJSON WITH ‘sortl‘.

REPLACE ALL OCCURRENCES OF ‘"STRAS"‘       IN LS_INPUTJSON WITH ‘stras‘.

REPLACE ALL OCCURRENCES OF ‘"PSTLZ"‘  IN LS_INPUTJSON WITH ‘pstlz‘.

REPLACE ALL OCCURRENCES OF ‘"ORT01"‘  IN LS_INPUTJSON WITH ‘ort01‘.

REPLACE ALL OCCURRENCES OF ‘"LAND1"‘    IN LS_INPUTJSON WITH ‘land1‘.

REPLACE ALL OCCURRENCES OF ‘"REGIO"‘    IN LS_INPUTJSON WITH ‘regio‘.

REPLACE ALL OCCURRENCES OF ‘"TELX1"‘       IN LS_INPUTJSON WITH ‘telx1‘.

REPLACE ALL OCCURRENCES OF ‘"TELF3"‘  IN LS_INPUTJSON WITH ‘telf3‘.

REPLACE ALL OCCURRENCES OF ‘"TELFX"‘  IN LS_INPUTJSON WITH ‘telfx‘.

REPLACE ALL OCCURRENCES OF ‘"LANGU"‘    IN LS_INPUTJSON WITH ‘langu‘.

REPLACE ALL OCCURRENCES OF ‘"KUNNR"‘    IN LS_INPUTJSON WITH ‘kinnr‘.

REPLACE ALL OCCURRENCES OF ‘"BEGRU"‘       IN LS_INPUTJSON WITH ‘begru‘.

REPLACE ALL OCCURRENCES OF ‘"STCD3"‘  IN LS_INPUTJSON WITH ‘stcd3‘.

REPLACE ALL OCCURRENCES OF ‘"STCD5"‘  IN LS_INPUTJSON WITH ‘stcd5‘.

REPLACE ALL OCCURRENCES OF ‘"BANKS"‘    IN LS_INPUTJSON WITH ‘banks‘.

REPLACE ALL OCCURRENCES OF ‘"BANKL"‘    IN LS_INPUTJSON WITH ‘bankl‘.

REPLACE ALL OCCURRENCES OF ‘"BANKA"‘       IN LS_INPUTJSON WITH ‘banka‘.

REPLACE ALL OCCURRENCES OF ‘"BANKN"‘  IN LS_INPUTJSON WITH ‘bankn‘.

REPLACE ALL OCCURRENCES OF ‘"KOINH"‘  IN LS_INPUTJSON WITH ‘koinh‘.

REPLACE ALL OCCURRENCES OF ‘"BVTYP"‘    IN LS_INPUTJSON WITH ‘bvtyp‘.

REPLACE ALL OCCURRENCES OF ‘"BKREF"‘    IN LS_INPUTJSON WITH ‘bkref‘.

REPLACE ALL OCCURRENCES OF ‘"ZUAWA"‘       IN LS_INPUTJSON WITH ‘zuawa‘.

REPLACE ALL OCCURRENCES OF ‘"ZTERM"‘  IN LS_INPUTJSON WITH ‘zterm‘.

REPLACE ALL OCCURRENCES OF ‘"REPRF"‘  IN LS_INPUTJSON WITH ‘reprf‘.

REPLACE ALL OCCURRENCES OF ‘"ZWELS"‘    IN LS_INPUTJSON WITH ‘zwels‘.

REPLACE ALL OCCURRENCES OF ‘"WAERS"‘    IN LS_INPUTJSON WITH ‘waers‘.

REPLACE ALL OCCURRENCES OF ‘"WEBRE"‘       IN LS_INPUTJSON WITH ‘webre‘.

REPLACE ALL OCCURRENCES OF ‘"PROVZ"‘  IN LS_INPUTJSON WITH ‘provz‘.

REPLACE ALL OCCURRENCES OF ‘"ORT02"‘  IN LS_INPUTJSON WITH ‘ort02‘.

REPLACE ALL OCCURRENCES OF ‘"BRSCH"‘    IN LS_INPUTJSON WITH ‘brsch‘.

REPLACE ALL OCCURRENCES OF ‘"[‘  IN LS_INPUTJSON WITH ‘[‘.

REPLACE ALL OCCURRENCES OF ‘]"‘  IN LS_INPUTJSON WITH ‘]‘.

TRY .

"传入参数JSON=> 转换为布局

CREATE OBJECT JSON_DES.

CALL METHOD JSON_DES->DESERIALIZE

EXPORTING

JSON = LS_INPUTJSON

IMPORTING

ABAP = LS_INPUT.

ZINPUTCOLLECTION-INPUT_JSON = LS_INPUT.

CALL FUNCTION ‘ZFM_ESB_LIFNR_MAINTAIN‘

EXPORTING

MSGHEADER        = MSGHEADER

INPUTCOLLECTION  = ZINPUTCOLLECTION

IMPORTING

OUTPUTPARAMETERS = ZOUTPUTPARAMETERS.

*    CATCH cx_trex_serialization INTO cx_trex.

CATCH CX_AI_SYSTEM_FAULT INTO OBJ_EXCEPTION.

CALL METHOD OBJ_EXCEPTION->GET_TEXT

RECEIVING

RESULT = ERRORTEXT.

ZOUTPUTPARAMETERS-OUTPUT_JSON-E_TYPE    = ‘E‘.

ZOUTPUTPARAMETERS-OUTPUT_JSON-E_MESSAGE = ERRORTEXT.

EXIT.

ENDTRY.

"解析返回参数

TRY .

*      ***内表->JSON

CREATE OBJECT JSON_SER

EXPORTING

DATA = ZOUTPUTPARAMETERS-OUTPUT_JSON.

CALL METHOD JSON_SER->SERIALIZE.

CALL METHOD JSON_SER->GET_DATA

RECEIVING

RVAL = LS_OUTPUTJSON.

MOVE: ZOUTPUTPARAMETERS-ESB_FLAG TO OUTPUTPARAMETERS-ESB_FLAG,

ZOUTPUTPARAMETERS-ESB_RETURN_CODE TO OUTPUTPARAMETERS-ESB_RETURN_CODE,

ZOUTPUTPARAMETERS-ESB_RETURN_MESSAGE TO OUTPUTPARAMETERS-ESB_RETURN_MESSAGE,

ZOUTPUTPARAMETERS-BIZ_SERVICE_FLAG TO OUTPUTPARAMETERS-BIZ_SERVICE_FLAG,

ZOUTPUTPARAMETERS-BIZ_RETURN_CODE TO OUTPUTPARAMETERS-BIZ_RETURN_CODE,

ZOUTPUTPARAMETERS-BIZ_RETURN_MESSAGE TO OUTPUTPARAMETERS-BIZ_RETURN_MESSAGE,

ZOUTPUTPARAMETERS-INSTANCE_ID TO OUTPUTPARAMETERS-INSTANCE_ID.

REPLACE ALL OCCURRENCES OF ‘e_lifnr‘  IN LS_OUTPUTJSON WITH ‘"e_lifnr"‘.

REPLACE ALL OCCURRENCES OF ‘e_bankl‘  IN LS_OUTPUTJSON WITH ‘"e_bankl"‘.

REPLACE ALL OCCURRENCES OF ‘e_type‘    IN LS_OUTPUTJSON WITH ‘"e_type"‘.

REPLACE ALL OCCURRENCES OF ‘e_message‘ IN LS_OUTPUTJSON WITH ‘"e_message"‘.

*      REPLACE ALL OCCURRENCES OF ‘[‘  IN LS_OUTPUTJSON WITH ‘"[‘.

*      REPLACE ALL OCCURRENCES OF ‘]‘  IN LS_OUTPUTJSON WITH ‘]"‘.

OUTPUTPARAMETERS-OUTPUT_JSON = LS_OUTPUTJSON.

TRANSLATE OUTPUTPARAMETERS-OUTPUT_JSON  TO UPPER CASE.

CATCH CX_TREX_SERIALIZATION INTO CX_TREX.

CALL METHOD CX_TREX->GET_TEXT

RECEIVING

RESULT = ERRORTEXT.

ZOUTPUTPARAMETERS-OUTPUT_JSON-E_TYPE    = ‘E‘.

ZOUTPUTPARAMETERS-OUTPUT_JSON-E_MESSAGE = ERRORTEXT.

EXIT.

ENDTRY.

ENDFUNCTION.

ABAP 主动挪用与被挪用webservice实例

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32545.html