Doubts regarding Inbound Interface
Hello All,
Im trying to import item categories into base table mtl_item_categories... for that in plsql program
1) i loaded data into staging table
2)performed some validations
3)inserted into interface table-- mtl_item_categories_interface
After this should i call the api INV_ITEM_CATEGORY_PUB.Create_Category_Assignment explicitly or not?????????
Thanks in advance.
Edited by: user13552077 on Jun 29, 2011 12:50 PM
Hi,
In order to import Item Categories from interface table (MTL_ITEM_CATEGORIES_INTERFACE) to base table, please run the concurrent program using below navigation, this should create item categories in inventory.
Inventory>Items>Import>Import Item Category Assignments.
Excerpts from previous post: ------------
Hi before using the mtl_item_categories_interface you have load all the ietms into inv with the help of mtl_system_items_interface when you do this automatically a default category id and category set_id will be assigned to the loaded items. so when you try to insert it wont take it. instead you have to update the category and category set id if necesaary..so the status should be update and you should provide the defalut category and category set id and along with the desired category id and category set id which you wish to populate. still facing the issue post me ur code I will correct it as i already did this conversions
Link: -------------------
reg : mtl_item_categories_interface
Regards,
Yuvaraj.C
Similar Messages
-
Can anyone help regarding an inbound interface for SAP HCM
Hi guys,
In my recent project I have a inbound interface requirement like the following:
1. The HCM solution system receives the objects on loan information from the non-SAP SCM source system;
2. The information, after certain validation, needs to be updated into the SAP HCM solution on loan Infotype 0040 with asset details.
4. If invalid, HCM solution should not be updated and a log needs to be generated.
The data needs flows through SAP PI. I could not find any IDoc type that can be used here but I found an ES http://esworkplace.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?packageid=DE0426DD9B0249F19515001A64D3F462&id=227F23C7EFA911DA2B24000F20DAC9EF. I am not sure how to progress on this. I would really appreciate your help.
Kind regards
NilayYou may find this document very useful for SAP HR integration using Idocs
http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=85884992 -
How to connect to third party using PI for outbound and inbound interfaces
Hello,
I have scenarios where I have data coming in from third party EDI subsystem and sent to SAP. And also from SAP to EDI subsystem. We need to send the XMLs to the EDI subsystema nd also receive XMLs.
Can someone please suggest the ways I can connect to EDI subsytem for both Outbound and Inbound interfaces.
ThanksHi Prabhu,
EDI file is different from the normal flat or xml file. Hope you understand the difference.
Now if your EDI subsytem has the capability of converting the xml file to edi file viceversa then create and receive the xml file from the EDI subsystem. For the xml file you may use the file adapter as an option.
If it doesnot have the capability then seeburger adapter needs to be used. This is not an inbuilt adapter. So your company needs to purchase it.
Regards,
---Satish -
Inbound interface was found more than once
Hi All,
Currently I'm working on a scenario wherein an invoice file is generated and created on FTP server, PI system picks up invoice (xml file) and sends to customer via EDI 810. The scenario failed in sxmb_moni and below is the error message.
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="IF_DETERMINATION">CX_ID_PLSRV</SAP:Code>
<SAP:P1>Inbound interface was found more than once (for same sender and receiver) for outbound interface urn:xyz:sap:components. 810_Outbound_Async_MI</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error when determining the inbound interface: Inbound interface was found more than once (for same sender and receiver) for outbound interface urn:xyz:sap:components. 810_Outbound_Async_MI Inbound interface was found more than once (for same sender and receiver) for outbound interface
Can anyone help me out and provide some valuable suggestions.
Regards
FaisalHi Abdul,
Try to run the scenario in the ID.
There is one test tool to in directory for this, login to ID --> go to Tools --> Test configuration.
This will show you the error in the exact step.
-Supriya. -
Doubt regarding ALE SETTINGS in IDOC scenario.
Hi Friends,
I have some doubts regarding ALE settings for IDOC scenarios, can anyone please clarify my doubts.
For exmaple take IDOC to FILE scenario
The knowledge i got from SDN is --
One need to do at the R3 side is --- RFC DESTINATION (SM59) for the XI system.
--- TRFC PORT for sending IDOC to the XI system
--- CREATING LOGICAL SYSTEM
--- CREATING PARTNER PROFILE
at the XI side is --- RFC Destination ( For SAP sender system)
--- CREATING PORT for receiving IDOC from the SAP sending system(IDX1).
1. Do we create two logical systems for both Sender ( R3 system ) and Receiver( XI system ) in R3 system itself or in XI system or in both systems we create these logical systems? Is this a mandatory step in doing ALE configurations?
In IDOC to IDOC scenario-------
2. Do we craete two RFC destinations in XI system? One RFC DESTINATION for the Sender R3 system and another RFC DESTINATION for the Receiver R3 System? and do we create RFC DESTINATION for the XI system in receiver R3 system? If not.....y we don't create like this........Please give me some clarity on this.............
3. If we use IDOC adapter ,since IDOC adapter resides on the ABAP STACK ,we don't need sender communication channel ,for the similar reason----
y we r creating receiver communication channel in the case of FILE to IDOC scenario?
4. Can any one please provide me the ALE settings for IDOC to FILE scenario,
FILE to IDOC scenario,
IDOC to IDOC scenario individually.
Thanks in advance.
Regards,
Ramana.hi,
1. Yes, we create two logical systems for both Sender ( R3 system ) and Receiver( XI system ) in R3 system itself and
it is a mandatory step in doing ALE configurations
2. We create 1 RFC destination each in R3 and XI.
R3 RFC destination points to Xi and
XI RFC destination points to R3
3 We need to create Communication Channel for Idoc receiver as the receiver channel is always required but sender may not be necessary
4. ALE settings for all IDOC scenarios are same as follows....
Steps for ALE settings:-
Steps for XI
Step 1)
Goto SM59.
Create new RFC destination of type 3(Abap connection).
Give a suitable name and description.
Give the Ip address of the R3 system.
Give the system number.
Give the gateway host name and gateway service (3300 + system number).
Go to the logon security tab.
Give the lang, client, username and password.
Test connection and remote logon.
Step 2)
Goto IDX1.
Create a new port.
Give the port name.
Give the client number for the R3 system.
Select the created Rfc Destination.
Step 3)
Goto IDX2
Create a new Meta data.
Give the Idoc type.
Select the created port.
Steps for R3.
Step 1)
Goto SM59.
Create new RFC destination of type 3(Abap connection).
Give a suitable name and description.
Give the Ip address of the XI system.
Give the system number.
Give the gateway host name and gateway service (3300 + system number).
Go to the logon security tab.
Give the lang, client, username and password.
Test connection and remote logon.
Step 2)
Goto WE21.
Create a port under transactional RFC.(R3->XI)
Designate the RFC destination created in prev step.
Step 3)
Goto SALE.
Basic settings->Logical Systems->Define logical system.
Create two logical systems(one for XI and the other for R3)
Basic settings->Logical Systems->Assign logical system.
Assign the R3 logical system to respective client.
Step 4)
Goto WE20.
Partner type LS.
Create two partner profile(one for XI the other for R3).
Give the outbound or inbound message type based on the direction.
Step 5)
Goto WE19
Give the basic type and execute.
fill in the required fields.
Goto IDOC->edit control records.
Give the following values.(Receiver port,partner no.,part type and sender Partner no. and type)
Click outbound processing.
Step 6)
Go to SM58
if there are any messages then there is some error in execution.
Goto WE02.
Check the status of the IDOC.
Goto WE47.
TO decode the status code.
Step 7)
Not mandatory.
Goto BD64.
Click on Create model view.
Add message type.
BD87 to check the status of IDOC.
In case if not authorized then go to the target system and check in SU53, see for the missing object
and assign it to the user.
SAP r3
sm59(status check)(no message)
WE02(status check)
WE05(status check)
BD87(status check)
Xi
IDx5(Idoc check)
SU53(authorization check)
Reward points if helpful
Prashant -
Error when trying multiple inbound interface determination for IDOC
Hi !
I have this scenario: File -> XI -> IDOC.
For each source file, I need to send multiple idoc packages, all to the same business system, but each package should be the result of different interface mappings.
All mappings have same source and target message types...e.g. source: MT_MyFile, target: CREMAS04.
To avoid creating a generic mapping program, we need to duplicate the current mapping program, make it handle the new case, and then add it as second interface mapping in Interface Determination, with same inbound interface, but different interface mapping, without conditions. All interface mapping should execute.
We are receving this error:
<SAP:Code area="IF_DETERMINATION">CX_ID_PLSRV</SAP:Code>
<SAP:P1>Inbound interface was found more than once (for same sender and receiver) for outbound interface urn:xxxxx/xxxx:.MI_xx_xxxxxxxx_xxx_xx</SAP:P1>
<SAP:Stack>Error when determining the inbound interface: Inbound interface was found more than once (for same sender and receiver) for outbound interface urn:xxxxx/xxxx:.MI_xx_xxxxxxxx_xxx_xx Inbound interface was found more than once (for same sender and receiver) for outbound interface urn:xxxxx/xxxx:.MI_xx_xxxxxxxx_xxx_xx</SAP:Stack>
Any clues?
Regards,
Matias.Hi Satish !
Thanks.
I need to send different IDOCs to SAME business system.
In Interface determination I need this:
Inbound Interface -
Condition -
Interface Mapping
<b>IF_1</b> no condition <b>M_1</b>
<b>IF_1</b> no condition <b>M_2</b>
I need to send BOTH IDOC packages to same business system.
But it keeps throwing the posted error.
Regards,
Matias. -
Execution of Inbound Interfaces in EOIO for separate messages
Hello XI Experts
We have a proxy to jdbc scenario. The rquirement is like we have to delete all the data from the oracle table, insert the data records into the table,and call a stored procedure from xi which will be done sequentially. We will be sending the message in chunks of 10,000 records from the source i.e from the proxy i.e there will be different messages with unique messageids creted , directed to the receiver. we have thought of the following design to execute the messages in EOIO.There will be 3 inbound interfaces DeleteDataMsg,InsertDataMsg(0 to n), CallStoredProcMsg and three different mapings corresponding to the inbound interfaces with different condition rules.There will be always one outbound interface which will be triggered from proxy .
Is our design correct to implement the requirement?
Thanks & Regards
SabyasachiHi all.
After taking some hints from this thread, we have found out that the problem lied some where in the installation part of PI.
We've set up a basic script, local and not remote, and still the system would not execute that command.
The RWB logs showed successful processing but the Application Server logs were full of errors and stack traces regarding the execution of any command. A support note was raised with SAP support in order to trace these errors.
I'm therefore closing this question as the original question is not related with remote scripting.
Thanks all for your help.
Best regards,
Romeu -
Have some doubt regarding the weblog (Lookup's in XI made simpler)
Hi All,
I have created the same scenario as mentioned in Siva's weblog (Lookup's in XI made simpler).
I having some doubts regarding the scenario, it will be great if you help me to resolve the same.
I am having a file-file scenario where I need to do lookup in database(MS-Access) through mapping.
The standard file-file scenario is in place and in addition I have created a receiver jdbc channel . I have also created the receiver agreement for the same in the cofiguration.
While creating the receiver agreement you have to specify the interface name which includes the message type I have specified the normal format which we specify while configuring the jdbc receiver adapter.
In the message mapping I have created a advance user defined function as mentioned in your weblog which calls my receiver jdbc channel.
I have also specified the select query to be executed in the mapping program.
While testing I am getting the following error
Cannot produce target element /ns0:Role_MT/URole. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
<b>Can you please suggest me what all I need to do in addition to the file-file scenario for this lookup scenario to work.</b>
Thanks and Regards
RahulHi,
Following is my user defined function
//write your code here
String Query = "";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
Query = "Select URole from Lookup where UName = ' " + UName[0] + " ' and UPassword = ' " + Pwd[0] +" ' ";
try{
channel = LookupService.getChannel("DB_service","JDBC_channel_receiver");
accessor = LookupService.getDataBaseAccessor(channel);
resultSet = accessor.execute(Query);
for(Iterator rows = resultSet.getRows();rows.hasNext();){
Map rowMap = (Map)rows.next();
result.addValue((String)rowMap.get("URole"));
catch(Exception ex){
result.addValue(ex.getMessage());
finally{
try{
if (accessor!= null) accessor.close();
catch(Exception ex){
result.addValue(ex.getMessage());
Thanks and Regards
Rahul -
Receiver Business System Connot find Inbound Interface - IDoc to File
Hi Everyone,
I am doing IDoc to File Scenario.....Idoc got triggered from SAP system and successfully posted to SAP PI.
Now when I check in T-Code IDX5 in PI, I got one message. When I double click that I am getting following error:
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>No receiver could be determined</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Also When I am selecting Receiving Inbound interface for Receiver system, I am not getting any interface by default.
Please help me out.
Thanks & Regards,
SudheerHi everyone,
Thanks for your quick responses.
Actually I am doing IDoc to File Scenario from blog which consists of Conditional Receiver Determination
"SNDPFC"
Here is the Explanation given in that blog:
In most instances, a new Receiver Determination would be created. However, given that in this scenario the combination of the sender service (i.e. u201CGL1u201D) and interface (i.e. u201CMATMAS.MATMAS04u201D) will be used by every student, each student will instead be adding their receiver service to an existing Receiver Determination
11. In the Condition column on that same line, left click on the question mark help icon
12. In the following Condition Editor pop-up window, left click on the help icon in the u201CLeft Operandu201D field
13. In the following Expression Editor pop-up window, select the u201CContext Objectu201D radio button
14. Use the drop drown to locate and select the u201CSNDPFCu201D field and u201COKu201D
15. Back in the Expression Editor, leave the u201C=u201D Operand as is
16. Enter your group number in the u201CRight Operandu201D and u201COKu201D
17. u201CSaveu201D and validate your u201CConfigured Receiversu201D as seen below:
I did not understood this Conditional RD.
Apart from this all configuration are correct.
Thanks,
Sudheer -
Hi All,
We are upgrading EBS from 11i instance to R 12.1.3. There is inbound interface for Recevibles transactions which fetches data from a data file and imports invoices after validation.
In 11i, tax_code column in ra_interface_lines_all was populated to import the tax details. But, in R12 tax_code column is not used. Can anyone tell me which columns we need to populate in ra_interface_lines_all table for tax details, i can see there are many tax related columns. I am deriving tax details from zx_rates_b table.
Which column should be used from this table as a input in tax_code(or other column) in ra_interface_lines_all.??
Thanks
Swapnil K.Hi Swapnil,
For Tax, value to be taken from ZX_TAXES_B.TAX
For TAX_STATUS_CODE, value to be taken from ZX_STATUS_B.TAX_STATUS_CODE
For TAX_RATE_CODE, value to be taken from ZX_RATES_B. TAX_RATE_CODE
For further details on the mapping refer to the oracle documentation from below reference ...
Description and Usage of Fields in RA_INTERFACE_LINES Table (Doc ID 1195997.1)
Regards,
Ivruksha -
Hi experts,
I am working on inbound interface for MATMAS04. I am using BAPI_MASTER_SAVEDATA to create material.
Now Can anyone suggest me any inbound function module that returns IDOC number. I am getting data in form of File. EDI_DATA_INCOMING doesnot return idoc number.
Thanks and regards
Neha Kapoorhi neha,
Creating a Function Module (Direct Inbound Processing)
This describes how to create a function module which is identified by the IDoc Interface using a new process code and called from ALE (field TBD52-FUNCNAME). Direct inbound processing using a function module (not using a workflow) always includes the ALE layer. This setting (processing with function module and ALE layer) is identified by the value 6 in the field TEDE2-EDIVRS, which is read by the function module IDOC_START_INBOUND. IDOC_START_INBOUND then calls ALE.
Example
FUNCTION IDOC_INPUT_TESTER.
""Globale Schnittstelle:
*" IMPORTING
*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*" VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT
*" VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR
*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" TABLES
*" IDOC_CONTRL STRUCTURE EDIDC OPTIONAL
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
initialize SET/GET Parameter and internal tables
PERFORM INITIALIZE_ORGANIZATIONAL_DATA.
Move IDOC to internal tables of application
PERFORM READ_IDOC_TESTER.
call transaction Order Entry VA01
PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
set status value
perform write_status_record using errorcode.
return values of function module
PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.
ENDFUNCTION.
FORM INITIALIZE_ORGANIZATIONAL_DATA.
initialize SET/GET parameters
SET PARAMETER ID 'VKO' FIELD SPACE.
SET PARAMETER ID 'VTW' FIELD SPACE.
SET PARAMETER ID 'SPA' FIELD SPACE.
SET PARAMETER ID 'VKB' FIELD SPACE.
SET PARAMETER ID 'VKG' FIELD SPACE.
initialize internal tables
REFRESH BDCDATA.
CLEAR BDCDATA.
CLEAR BELEGNUMMER.
CLEAR ERRTAB.
REFRESH ERRTAB.
REFRESH XBDCMSGCOLL.
CLEAR XBDCMSGCOLL.
ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA
FORM READ_IDOC_TESTER.
PERFORM INITIALIZE_IDOC.
LOOP AT IDOC_DATA
WHERE DOCNUM = IDOC_CONTRL-DOCNUM.
CASE IDOC_DATA-SEGNAM.
header data
WHEN 'E1HEAD'.
MOVE IDOC_DATA-SDATA TO E1HEAD.
PERFORM PROCESS_SEGMENT_E1HEAD.
position data
WHEN 'E1ITEM'.
MOVE IDOC_DATA-SDATA TO E1ITEM.
PERFORM PROCESS_SEGMENT_E1ITEM.
ENDCASE.
ENDLOOP.
only when there were one or more items
CHECK FIRST NE 'X'.
APPEND XVBAP. "last one
ENDFORM. " READ_IDOC_TESTER
FORM INITIALIZE_IDOC.
CLEAR XVBAK.
REFRESH XVBAP.
CLEAR XVBAP.
POSNR = 0.
FIRST = 'X'.
ENDFORM. " INITIALIZE_IDOC
FORM PROCESS_SEGMENT_E1HEAD.
requested date of delivery
WLDAT = E1HEAD-WLDAT.
delivery date
XVBAK-BSTDK = E1HEAD-BSTDK.
customer number
XVBAK-KUNNR = E1HEAD-AUGEB.
order number
XVBAK-BSTNK = E1HEAD-BELNR.
division
XVBAK-SPART = E1HEAD-SPART.
distribution channel
XVBAK-VTWEG = E1HEAD-VTWEG.
sales organization
XVBAK-VKORG = E1HEAD-VKORG.
order type
XVBAK-AUART = E1HEAD-AUART.
do not fill incoterms (inco1, inco2)
customer function
CALL CUSTOMER-FUNCTION '001'
EXPORTING
PI_VBAK621 = XVBAK
IMPORTING
PE_VBAK621 = XVBAK
TABLES
PT_IDOC_DATA_RECORDS = IDOC_DATA.
ENDFORM. " PROCESS_SEGMENT_E1HEAD
FORM PROCESS_SEGMENT_E1ITEM.
position number
XVBAP-POSNR = XVBAP-POSNR + 1.
amount
XVBAP-WMENG = E1ITEM-MENGE.
unit
CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE'
EXPORTING
ISO_CODE = E1ITEM-BMEINH
IMPORTING
SAP_CODE = XVBAP-VRKME
EXCEPTIONS
OTHERS = 0.
material number
XVBAP-MATNR = E1ITEM-LMATNR.
CALL CUSTOMER-FUNCTION '002'
EXPORTING
PI_VBAP621 = XVBAP
IMPORTING
PE_VBAP621 = XVBAP
TABLES
PT_IDOC_DATA_RECORDS = IDOC_DATA.
APPEND XVBAP.
ENDFORM. " PROCESS_SEGMENT_E1ITEM
FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
call transaction first dynpro
PERFORM DYNPRO_START.
call transaction double-line entry
PERFORM DYNPRO_DETAIL2.
incoterms
PERFORM DYNPRO_HEAD_300.
call transaction item datas
PERFORM DYNPRO_POSITION.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.
determine input method
IF INPUT_METHOD IS INITIAL.
INPUT_METHOD = 'N'.
ENDIF.
call transaction VA01
CALL TRANSACTION 'VA01' USING BDCDATA
MODE INPUT_METHOD
UPDATE 'S'
MESSAGES INTO XBDCMSGCOLL.
errorcode = SY-SUBRC. " remember returncode for status update
ENDFORM. " CALL_VA01_IDOC_ORDERS
form write_status_record using errorcode.
FILL IDOC_STATUS
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IF ERRORCODE = 0.
IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53
GET PARAMETER ID 'AUN' FIELD BELEGNUMMER.
IDOC_STATUS-MSGID = 'V1'.
IDOC_STATUS-MSGNO = '311'.
IDOC_STATUS-MSGV1 = 'Terminauftrag'.
IDOC_STATUS-MSGV2 = BELEGNUMMER.
ELSE.
IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51
IDOC_STATUS-MSGID = SY-MSwGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
ENDIF.
APPEND IDOC_STATUS.
ENDFORM.
FORM DYNPRO_START.
PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
DYNPRO-EINSTIEG
CHANGING LAST_DYNPRO.
ordertype
PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.
sales organization
PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.
Distribution channel
PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.
Division
PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.
Sales office
PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.
Sales group
PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.
ENDFORM. " DYNPRO_START
FORM DYNPRO_NEW USING PROGNAME
DYNPRONR
CHANGING LAST_DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGNAME.
BDCDATA-DYNPRO = DYNPRONR.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
LAST_DYNPRO = DYNPRONR.
ENDFORM. " DYNPRO_NEW
FORM DYNPRO_SET USING FELDNAME
FELDINHALT.
CLEAR BDCDATA.
CHECK FELDINHALT NE SPACE.
dynpro field name
BDCDATA-FNAM = FELDNAME.
contents
BDCDATA-FVAL = FELDINHALT.
APPEND BDCDATA.
ENDFORM. " DYNPRO_SET
FORM DYNPRO_DETAIL2.
okcode
PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.
fix dynpro number 4001
PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG
'4001'
CHANGING LAST_DYNPRO.
order party
PERFORM DYNPRO_SET USING 'KUAGV-KUNNR' XVBAK-KUNNR.
purchase order number
PERFORM DYNPRO_SET USING 'VBKD-BSTKD' XVBAK-BSTNK.
requested delivery date
PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK' XVBAK-BSTDK.
purchase order date
PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.
ENDFORM. " DYNPRO_DETAIL2
FORM DYNPRO_DATE_SET USING FELDNAME
FELDINHALT.
DATA: DATE TYPE D.
CLEAR BDCDATA.
CHECK FELDINHALT NE SPACE.
BDCDATA-FNAM = FELDNAME.
WRITE FELDINHALT TO DATE.
BDCDATA-FVAL = DATE.
APPEND BDCDATA.
ENDFORM. " DYNPRO_DATE_SET
FORM DYNPRO_HEAD_300.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.
incoterms part 1
IF NOT XVBAK-INCO1 IS INITIAL.
PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1.
ENDIF.
incoterms part 2
IF NOT XVBAK-INCO2 IS INITIAL.
PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2.
ENDIF.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.
ENDFORM. " DYNPRO_HEAD_300
FORM DYNPRO_POSITION.
LOOP AT XVBAP.
dynpro item double line entry
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.
IF XVBAP-POSNR = 1.
material number
PERFORM DYNPRO_SET USING 'VBAP-MATNR(01)' XVBAP-MATNR.
order quantity
PERFORM DYNPRO_SET USING 'RV45A-KWMENG(01)' XVBAP-WMENG.
desired delivery date
PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)' WLDAT.
sales unit
PERFORM DYNPRO_SET USING 'VBAP-VRKME(1)' XVBAP-VRKME.
ELSE.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'POAN'.
material number
PERFORM DYNPRO_SET USING 'VBAP-MATNR(02)' XVBAP-MATNR.
order quantity
PERFORM DYNPRO_SET USING 'RV45A-KWMENG(02)' XVBAP-WMENG.
desired delivery date
PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)' WLDAT.
sales unit
PERFORM DYNPRO_SET USING 'VBAP-VRKME(02)' XVBAP-VRKME.
ENDIF.
ENDLOOP.
ENDFORM. " DYNPRO_POSITION
FORM RETURN_VARIABLES_FILL USING ERRORCODE.
allocate IDOC numbers to Workflow output parameters
IF MASS_PROCESSING <> SPACE.
IF ERRORCODE = 0.
RETURN_VARIABLES-WF_PARAM = PID.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
RETURN_VARIABLES-WF_PARAM = APO.
RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_OK.
ELSE.
RETURN_VARIABLES-WF_PARAM = EID.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
ENDIF.
ELSE.
IF ERRORCODE = 0.
RETURN_VARIABLES-WF_PARAM = APE.
RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER.
APPEND RETURN_VARIABLES.
WORKFLOW_RESULT = C_WF_RESULT_OK.
ELSE.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
ENDIF.
ENDIF.
ENDFORM. " RETURN_VARIABLES_FILL
Globale Daten von IDOC_INPUT_TESTER
TABLES: E1HEAD, E1ITEM.
DATA: BEGIN OF BDCDATA OCCURS 500.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
DATA: BEGIN OF XVBAK. "Kopfdaten
INCLUDE STRUCTURE VBAK621.
DATA: END OF XVBAK.
DATA: BEGIN OF XVBAP OCCURS 50. "Position
INCLUDE STRUCTURE VBAP.
DATA: WMENG(18) TYPE C.
DATA: LFDAT LIKE VBAP-ABDAT.
DATA: KSCHL LIKE KOMV-KSCHL.
DATA: KBTRG(16) TYPE C.
DATA: KSCHL_NETWR LIKE KOMV-KSCHL.
DATA: KBTRG_NETWR(16) TYPE C.
DATA: INCO1 LIKE VBKD-INCO1.
DATA: INCO2 LIKE VBKD-INCO2.
DATA: YANTLF(1) TYPE C.
DATA: PRSDT LIKE VBKD-PRSDT.
DATA: HPRSFD LIKE TVAP-PRSFD.
DATA: END OF XVBAP.
DATA: BEGIN OF DYNPRO,
EINSTIEG LIKE T185V-DYNNR VALUE 101,
KKAU LIKE T185V-DYNNR,
UER2 LIKE T185V-DYNNR,
KBES LIKE T185V-DYNNR,
ERF1 LIKE T185V-DYNNR,
PBES LIKE T185V-DYNNR,
PKAU LIKE T185V-DYNNR,
PEIN LIKE T185V-DYNNR,
EID1 LIKE T185V-DYNNR,
POPO LIKE T185V-DYNNR,
EIPO LIKE T185V-DYNNR,
KPAR LIKE T185V-DYNNR,
PSDE LIKE T185V-DYNNR,
PPAR LIKE T185V-DYNNR,
KDE1 LIKE T185V-DYNNR,
KDE2 LIKE T185V-DYNNR,
PDE1 LIKE T185V-DYNNR,
PDE2 LIKE T185V-DYNNR,
PKON LIKE T185V-DYNNR,
END OF DYNPRO.
DATA: BEGIN OF PANEL,
KKAU LIKE T185V-PANEL VALUE 'KKAU',
UER2 LIKE T185V-PANEL VALUE 'UER2',
KBES LIKE T185V-PANEL VALUE 'KBES',
ERF1 LIKE T185V-PANEL VALUE 'ERF1',
PBES LIKE T185V-PANEL VALUE 'PBES',
PKAU LIKE T185V-PANEL VALUE 'PKAU',
PEIN LIKE T185V-PANEL VALUE 'PEIN',
EID1 LIKE T185V-PANEL VALUE 'EID1',
EIAN LIKE T185V-PANEL VALUE 'EIAN',
POPO LIKE T185V-PANEL VALUE 'POPO',
EIPO LIKE T185V-PANEL VALUE 'EIPO',
KPAR LIKE T185V-PANEL VALUE 'KPAR',
PSDE LIKE T185V-PANEL VALUE 'PSDE',
POAN LIKE T185V-PANEL VALUE 'POAN',
PPAR LIKE T185V-PANEL VALUE 'PPAR',
KDE1 LIKE T185V-PANEL VALUE 'KDE1',
KDE2 LIKE T185V-PANEL VALUE 'KDE2',
PDE1 LIKE T185V-PANEL VALUE 'PDE1',
PDE2 LIKE T185V-PANEL VALUE 'PDE2',
PKON LIKE T185V-PANEL VALUE 'PKON',
KOAN LIKE T185V-PANEL VALUE 'KOAN',
END OF PANEL.
DATA: BEGIN OF ERRTAB OCCURS 20,
TRANS LIKE TSTC-TCODE,
ARBGB LIKE T100-ARBGB,
CLASS(1) TYPE C,
MSGNR LIKE T100-MSGNR,
TEXT LIKE T100-TEXT,
TEXT(123) TYPE C,
MSGV1 LIKE SY-MSGV1,
MSGV2 LIKE SY-MSGV2,
MSGV3 LIKE SY-MSGV3,
MSGV4 LIKE SY-MSGV4,
END OF ERRTAB.
*---- Hilfsfelder -
DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.
DATA: LAST_DYNPRO LIKE T185V-DYNNR,
WLDAT LIKE VBAK-BSTDK,
POSNR LIKE VBAP-POSNR,
FIRST(1) TYPE C VALUE 'X'.
DATA: BEGIN OF XBDCMSGCOLL OCCURS 10.
INCLUDE STRUCTURE BDCMSGCOLL.
DATA: END OF XBDCMSGCOLL.
Terminauftrag ( Auftragsart wird fest gesetzt !)
DATA: BELEGNUMMER LIKE VBAK-VBELN.
DATA: ERRORCODE LIKE SY-SUBRC.
Statuswerte fuer IDOC-Status
DATA: BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.
DATA: BELEG_GEBUCHT LIKE TEDS1-STATUS VALUE '53'.
*- Direktwerte für Return_variables -
data:
eid like bdwfretvar-wf_param value 'Error_IDOCs',
pid like bdwfretvar-wf_param value 'Processed_IDOCs',
apo like bdwfretvar-wf_param value 'Appl_Objects',
ape like bdwfretvar-wf_param value 'Appl_Object'.
*- Direktwerte für Workflow_Result -
DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.
DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'.
http://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7df143d711d1893e0000e8323c4f/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7df143d711d1893e0000e8323c4f/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7df143d711d1893e0000e8323c4f/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/dc/6b7df143d711d1893e0000e8323c4f
Plz Reward points if helpfull ...
Regards,
Mandeep. -
Inbound interface??
Hi,
Iam working on inbound interface.Can any one tell me how to store the flat file data into custom table?what is the procedure?
Regards,
SujanSujan:
What type of inbound interface is it. It proxy or Idoc what is it. Please specify so folks can direct you. By the way there is a basic process to achieve your goal.
if the the inbound proxy is generating file on the server then read the file via function module and read data set command .
store them in the custom table you have created.
If you are using enterprise service then you have extract data from the xml file and upload the data.
Regards,
Nirad Pachchigar -
Inbound interface with multiple IDOC processing
Hi,
I have to create an inbound interface which has to be triggered only when a batch job is completed in the middleware. The batch job will create 2000 records and 1 IDOC for each record. I have to get all the 2000 IDOCs and then process them together. I have to manipulate the data in these 2000 IDOCs and update them in a SAP table.
Please let me know how do I proceed with this.
Should I go with a custom func module or a custom program?
Thanks,
AbhishekHi,
Custom function module with standard parameters : For details refer to the topic Implementing Inbound Processing on page 85 of the
[ALE Programming Guide|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf]
regards,
Advait -
No inbound interface available in interface determination.
Hi Guys,
I am doing File to web service scenario. I have completed all the steps required in Integration Repository. But in Integration directory while doing interface determination, I am not able to locate my inbound interface. It is showing message No Object found.
I have checked interface mapping and in it I am using same outbound and inbound interface.
I would appreciate yours inputs.Hi Sunil,
You must have chosen Inbound and Outbound Interface for Interface Mapping in the Integration repository.
Also, when you do you Interface Determintaion you must have chosen sender and receiver Interface. They have to be the same as described in the Integration repostiory for the Interface mapping to come up in ID.
Please can you activate your Interface mapping again and try importing it into ID
Regards
Vijaya
Message was edited by: vijaya kumari -
"Unable to find inbound interface"
Hi all,
I have an error in sxmb_moni. Everytime I click on the red flag, I get the error, "Unable to find inbound interface". I already checked namespaces and SCV in IR. I also checked Interface Determination in ID. They are all correct. I have already tested my config in QAS, and everything went well. I'm having problems right now in PRD. Can somebody help me? thanks.
When I run Test Tool Config, I get the following error:
Interface Determination
Thanks.
Regards,
IXError when determining the inbound interface: Problem evaluating a condition: Exception
CX_SWF_RLS_RULE occurred (program: CL_SWF_RLS_CONDITION==========CP, include:
CL_SWF_RLS_CONDITION==========CM00Q, line: 160).
Payload problem check these solved threads:
Error
Error in Receiver Determination
regards,
Abhishek
Maybe you are looking for
-
Retrieve the message put in message header using variable substitution
hi, i am using dynamic configuration to put some information in the message header.is it possible to retrieve the message using variable substitution and if it is possible then how it be done using variable substitution. regards, Meenakshi
-
I/O error: InputSource: Stream closed
Hi I am new to XML. I am trying to modify XML content using DOM parser. After the modification I want to check if the changes have taken place or not by printing the XML on the console. This is what I have done: 1. Read XML from InputSource DocumentB
-
Icant open a libyry/projekt "Gotland" . I get this mesage There was an error opening databas for the libery " / Volumes/hasse Exstended / Gotland .aplibray" Plese help , i have open this befor whit no problem?????
-
Shift+Del doesn't Cut-- What does it do in DW8?
Call me a traditionalist, but I expect the key combination of Shift+Del to cut whatever I've selected, but instead it appears to select the currently selected element then deletes or something like that-- can somebody clarify what exactly this preset
-
Videos not seeking or showing total t
Weird problem, and judging by a quick Google search, I'm not the only one having the problem. So, I'm using Linux, and using mencoder (a very popular encoding program), I can encode the videos properly, and they play on my computer and my Zen. Then,