Sheduling the idoc in background
hi
which program is used to schedule the idoc in background
There are lot of jobs for the background process.
RBDMOIND--changes 03 to 12
RBDAPP01--send inbound idocs to application
RSEOUT00--send outbound idocs to sending FM
RBDMANIN--reprocess idocs-51 status
RBDMIDOC--Puch changes
Similar Messages
-
How to shedule the background job
hi experts,
could you tell me
how to shedule the background jobhi,
in abap u can schedule it by FM Job_open and job_close...
and then execute it in sm37
thanks
tanmaya -
A warning message in the Inbound part of the IDOC
Hi all,
A warning message is being displayed for the Inbound part of the IDOC.
Here is the message.
No filters , No conversion , No version change .
IDoc successfully processed in the ALE layer
The IDoc has passed through the ALE layer successfully and can now be
passed to the application. This transfer is either done online or as a
background job, depending on the settings in the partner profile.
If there are no further status records, the IDoc waits for the next run
of the transfer report to the application.
Success or failure when passing the IDoc to the application is
documented in the subsequent status records.
Actions in the ALE layer
The parameter 'No filters' indicates whether the processing in the ALE
layer led to segments of the inbound IDoc being omitted. The important
criteria here are the settings in the segment filter and in the
distribution model for this sender.
The parameter 'No conversion' indicates whether field values were
converted in the ALE layer. This is the case if the IDoc contains
organizational units to be converted, or if the ALE conversion tool for
this sender is activated.
The parameter 'No version change' indicates whether the IDoc was
converted into an earlier version of the IDoc type. This happens if the
IDoc type of the sender is different from its own IDoc type.
I have checked all the necessary Config settings and all of them are in place.
Your help on this will be highly appreciated.
- Surya.Hi,
The IDOC may have successfully passed through the application, but check whether the status of the IDOC is changed to 53.
No filters, No conversions, No version change
occurs when the IDOC is not processed fully.
It may have stopped the processing without raising any error...
Check the program, whether there is any piece of code which stops the processing of the IDOC without changing its status to 51.
Sharin. -
Prozessing of Idocs as background job
Hello everybody,
At first, I hope this is the correct thread for this posting.
I have a problem with processing the generated idocs.
I create Idocs for example for all Customers (message type DEBMAS) with the transaction bd12.
Afterwards I process the Idocs with the transaction WE14 (program RSEOUT00).
The parameters I set are for example the packages size (= 100) which is necessary to avoid a lock table overflow, the message type, receiver system and so on.
The jobs works fine and without errors and all Idocs will be process and receive a new Status.
I do this with a background job (sm36) and create for each programm a step.
The problem is, that if I start the transaction we14 inside the background job with this parameters the process use user dialog processes. This means that the process reserve all available user dialog process from the system.
I think it starts/reserve for each package which should be processed a new dialog process.
After a short time nobody can work longer with the system because no dialog processes are available.
Why use this process no background processes or why use this process dialog processes?
Is this possible to configure anywhere?
Regards
ChristianWhere should I specify the package size?
If I create a new partner profile with we20, I get only following tabs:
- Post processing: permitted agent
- Classification
- Telphony
I can't insert a package size there.
If I add a new outbound parameters with Message Type DEBMAS, I can only choose between "Collect Idcos" or "Process Idocs immediately".
Maybe I must use a other type of receiver port? -
Inbound IDoc creating background job even for trigger immediately setup
All,
I have a very serious problem in our production system.
Scenario:
Vendor is chagend in system A (Outbound) and the same is interfaced to System B (Inbound) and i am using trigger immediately option, but still I am seeing a background job is created for 'RBDAPP01' and creating the spool request. The issue is I am sending 1000 of idocs and the spool number is increasing daily in system B.
So, can any one explain me why the background job is getting triggered even though I set the partner profile settings as 'Trigger Immediately'.
The above issue is not happening in our quality system it simply updagtes vendor information in system B with out creating any background job. Please note that the same settings are maintained in both the systems.
Your immediate inputs are really valuable for me.
Regards,
SumanThis is an performance issue on the receiving system. In case the system does not have enough resources to process the IDoc immediately it will always schedule a background job to ensure the processing of data.
You need to check whether the system has enough work processes available during the time when 1000 of IDocs are received or send the IDocs in packages with some time in between.
Regards,
Kai -
How to pass the contents of an internal table to the IDoc FIDCC2?
Hi,
I have an internal table. Using its contents, I have to create an Idoc and do GL posting.
I have to use FIDCC2 Idoc and the function module IDOC_INPUT_FIDCC2.
Can u please let me know how to pass the contents of the internal table into the idoc FIDCC2 and do the GL posting?
Regards,
Balaji. RHi balaji,
use function IDOC_INBOUND_FROM_FILE. This will do half the process.
Documentation is missing, but program RSEINB00 explains something,
also some links
[http://help.sap.com/saphelp_nw70/helpdata/EN/dc/6b7f1543d711d1893e0000e8323c4f/frameset.htm]
[RSEINB00 does not work in background]
[RSEINB00 flat file to idoc uploading in XI]
[Loading flat idoc via report RSEINB00 into integration server fails]
Hope it helps.
Regards,
Clemens -
Error in posting the Idoc....
Hi Experts,
When I post the Idoc from the external system to the SAP,I am getting the
error as application document not posted and status code as 52.so what I need
to do to overcome this error,please help me over this issue.
Regards,
Kiran.Hi,
you have to check the idoc in debugg mode and pull it out the reason why i has 52 and you know how to debug inbound - go to we19 and here give any existing idoc no and press F8 and enter into screen, in that select 'INBOUND FUNCTION MODULE' select give ur standard F.M name and select the background mode.
or thre way is goto BD87 make the correct the error idoc manually.
--Use Tcode BD87 to check for IDocs that are not been processed and reactivate.
u can find here if any data wrong or missing.
<b>Reward if useful</b>
Regards,
Vijay -
RFC to pull the Idoc's from FTP
Hey,
Is there any standard RFC to pull the IDOCs from an FTP server into the R3.
Please help.> is there a way to do it with out ABAP process i mean just by using the Unix Scripts or by triggering the SAP background job.
You can use a simple Unix script with "startrfc" and calling EDI_DATA_INCOMING as user <sid>adm (excerpt - not the full script):
#! /bin/ksh
DEST=<SID>
SYSTEMID=<SID>
USER=<SU01-USERNAME>
PASSWORD=<PASSWORD>
CLIENT=<CLIENT>
LANG=<LANGUAGE>
MSGSERVER=<MESSAGESERVER>
SYSTEM=<SYSTEMNUMER>
GATEWAY=<GATEWAYHOST>
GWSERV=<GATEWAYSERVICE>
FUNCTION=EDI_DATA_INCOMING
PROGRAM=/usr/sap/<SID>/SYS/exe/run/startrfc
LOGONGROUP=<LOGONGROUP>
for i in `ls <directory>`
do
$PROGRAM -balanced -3 -d $DEST -u $USER -p $PASSWORD -c $CLIENT \
-I $LANG -s $DEST -F $FUNCTION -g $LOGONGROUP \
-h $MSGSERVER -E PATHNAME=$i -E PORT=<WE20-PORT>
done;
You can schedule that using cron to run every minute.
You have to take care of:
- not trying to import not-yet-completely-transferred files (we use a certain naming convention such as uploading with a prefixed "tmp" and after the upload is complete renaming the file. This must be done on the FTP sender side however)
- not try to import the same file twice. You may avoid that by setting a lock (tempfile) and check for it each time the script runs. If it exists, exit the script.
Markus -
ALE Configuration to Download the IDOC to a FTP Location
Hello SDN,
I need to generate the IDOCs and save them in text format onto an FTP Location specified by the client.
I understand, I need to setup the an TCP/IP RFC Destination and Create a FIle Port Specifying the FTP directory path.
Please suggest the necessary setup/configuration for the same along with checkpoints.
Thanks,
Manu
Moderator message: duplicate post locked.
Edited by: Thomas Zloch on Apr 7, 2011 9:49 AMHi,
Guess it looks like the output is getting proposed but its not getting processed. Check the output type configuration. Check the TIme Settings in the output type configuration.
It is possible to set the Time when the output must be processed. Is it on SAVE or is it set to other settings. If its set to via background job then the background job must be run to process the output types.
Check and let me know if all is fine at the output type configuration.
Cheers
VJ -
Function module to read the the idoc
Hi abap gurus,
I have an inbound idoc coming form a wms system .The IDOC is for goods recieved . how can I read the idoc to update the inbound delivery data in the sap system ? Is there any function module to read the data from teh inbound idoc ?Hi Gaurab,
Creating a Function Module (Direct Inbound Processing)
This step 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.
Prerequisites
You must have completed the required steps in Defining and Using a Basic Type .
Procedure
Choose Tools ® ABAP Workbench ® Development ® Function Builder, and create a new function module.
Create the segments as global data in your function group. The function module should copy the application data from the segments into the corresponding application tables and modify the IDoc status accordingly. If an error occurs, the function module must set the corresponding workflow parameters for exception handling.
Activate the function module: From the initial screen of the Function Builder select .
In the example, create the function module IDOC_INPUT_TESTER with a global interface. The function module is called when an IDoc of type TESTER01 is received for inbound processing. You will assign an application object ("standard order") to this IDoc type and therefore maintain tables from SD. To do this, call transaction VA01 using the command CALL TRANSACTION. Please note that the intention here is not to simulate a realistic standard order, but only to illustrate how data reaches application tables from an IDoc table via segment structures (form routine READ_IDOC_TESTER) and how the function module triggers an event for exception handling (by returning suitable return variables to the ALE layer in the FORM routine RETURN_VARIABLES_FILL).
A comprehensive example of the code for an inbound function module is provided in the ALE documentation in the SAP Library under Example Program to Generate an IDoc. This function module, for example, also checks whether the logical message is correct and calls a (fictitious) second function module which first writes the application data and then returns the number of the generated document. In addition, status 53 is only set if the application document was posted correctly.
Administration parameters for IDOC_INPUT_TESTER
Application abbreviation
V (Sales and Distribution)
Processing type
Normal, start immediately
Interface for IDOC_INPUT_TESTER (global interface)
Formal parameters
Reference structure
Explanation
Import parameters
INPUT_METHOD
BDWFAP_PAR-INPUTMETHD
Describes how the function module is to be processed (example: in the background)
MASS_PROCESSING
BDWFAP_PAR-MASS_PROC
Mass inbound processing? (indicator)
Export parameters
WORKFLOW_RESULT
BDWFAP_PAR-RESULT
Set to 99999 if an event is to be triggered for error handling.
APPLICATION_VARIABLE
BDWFAP_PAR-APPL_VAR
Variable freely available from application for workflow
IN_UPDATE_TASK
BDWFAP_PAR-UPDATETASK
Asynchronous update? (indicator is not set in example)
CALL_TRANSACTION_DONE
BDWFAP_PAR-CALLTRANS
Transaction called? (indicator is not set in example)
Table
IDOC_CONTRL
EDIDC
IDoc control record
IDOC_DATA
EDIDD
IDoc data records
IDOC_STATUS
BDIDOCSTAT
IDoc status records for ALE
RETURN_VARIABLES
BDWFRETVAR
IDoc assigned to Object type method parameters.
SERIALIZATION_INFO
BDI_SER
If several IDocs are to be processed in a certain sequence: this structure contains the necessary information
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'.
thanks
karthik
DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'. -
hi,
i want to process idoc in background means i don't want to use BD20 to process idoc having 51 status.at this time i first use t-code BD20 to process idoc and then i get the data . now i want that whenever idoc comes in folder they automatically processed in background without needing someone.
thanx/regards,
vaneet thakurHi,
check this link.
Link:[http://help.sap.com/saphelp_sm32/helpdata/en/5f/45f93b4139b478e10000000a11402f/content.htm]
hope it'll give some idea.
Regards,
Sneha. -
Hi All,
We're trying to find a way where we can execute a scheduled job to run and process all idocs within a given day with a status of 51 or 69 with a particular message type. My first thought was to create a selection variant for BD87 and then create a job with that variant. I soon found that you cannot execute BD87 in the background through a job. I further tried to use programs RBDMANIN, RBDMANI2, RBDAGAIN and none had any success.
The end result is to create a job that will run idocs within a message type with status 51 and 69 daily without providing the idoc number within the selection screen.
Any assistance would be greatly appreciated.
Thanks,
PeteHi,
you are right, it is not possible to schedule a job using BD87, instead you could schedule a job for RBDMANI2 with the variant containing all the message types or you could also categorize your message types based on the priority and schedule a job for the same.
In a similar case, i have seen jobs being scheduled only based on the message types because some of the Partners would be external systems in which case it is better to provide the patner name in the variant.
Thanks
Krithika -
Way does this iDoc come in to SAP R3 from XI ? And how can I prevent this iDoc beeing sendt from XI. I dont need it. It comes ever time I send an iDoc (DEBMAS, ORDERS etc) out of SAP R3.
Hi,
This is the acknowledgement for the IDOC processing of DEBMAS, ORDERS etc.
Use transaction SM36 to define a job using RBDSTATE and variant
SAP_AUDIT_SEND.
This is the background job schedueld, just stop this job.
refer below links to deactivate it
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f6d2d790-0201-0010-9382-b50b499b3fbe
Thanks
Swarup -
In the LSMW RFBIBL00 Background error ?
Hi Friends,
I am using rfbibl00 to create batch input session for FI data upload .
My poblem is Session can b pricessd successflly in forground . But when I submit it to back ground ,
it goes into error .
ZGL_BALANCE_HEADER G/L Balance Header
BLDAT C(008) Document Date
BUDAT C(008) Posting Date
BLART C(002) Document Type
BUKRS C(004) Company Code
WAERS C(005) Currency
MONAT C(002) Posting Period
WWERT C(008) Date (batch input)
XBLNR C(016) Reference Document number
BKTXT C(025) Document Header Text
KURSF C(010) Exchange rate
ZGL_BALANCE_ITEM G/L Balance Load Item
BUKRS C(004) Company Code for the Next Line Item
NEWBK C(004) New company code
NEWBS C(002) Posting Key for the Next Line Item
DUMMYX C(010) General Ledger Account
MWSKZ C(002) Sales Tax Code
TXJCD C(015) Tax Jurisdiction
WRBTR C(016) Amount in document currency (batch input field)
KOSTL C(010) Cost Center
AUFNR C(012) Order Number
PROJK C(008) No longer use this field (use PROJK)
PRCTR C(010) Profit Center
NPLNR C(012) Network Number for Account Assignment
VBEL2 C(010) Sales Document
EBELN C(010) Purchasing Document Number
MENGE C(017) Quantity (Batch Input Field)
PERNR C(008) Personnel Number (Batch Input Field)
MATNR C(018) Material Number
ZUONR C(018) Assignment Number
SGTXT C(050) Item Text
In the above structure have BUKRS and NEWBK is the key field.
But it is working in foreground .
Whenever it is in Background the below message are getting .
Error message : ---
Session ZGL_BALANCE_ is being processed by user NAGPATIL in mode N on server ptg-mrbsapdev 0
Field RF05A-NEWBK. does not exist in the screen SAPMF05A 0100 FB01 1
Transaction error FB01 1
Processing statistics 0
1 transactions read 0
0 transactions processed 0
1 transactions with errors 0
0 transactions deleted 0
Batch input processing ended 0
Thanking you.
SubashHello,
The issue seems to be that your vendor reconciliation account is not tax
relevant while the invoice comes with a tax code. You can check the G/L
account master data and make sure there is an entry in the tax category,
master data and make sure there is an entry in the tax category.
If you sometimes don't want to enter a tax code for this vendor you
can set the flag "Posting without tax allowed" in addition.
Try the following to analyze this error:
- set the flag for "Create BDC session" in tx OBCE
- check the settings in OBCB (see SAP note 150120)
- process the error idoc again
- goto tx SM35 and process the batch input session from the idoc (IV...)
in the foreground step by step until you get the message that this
field for the discount base is not there
- then, check if the vendor account is the right one
- check if the field status of this vendor's reconciliation account
is correct. In the section payment the payment terms must be ready for
input (optional field).
Regards,
David -
Hi,
What is the best possible way to process an IDoc (Message type: ORDERS/ORDCHG) in background in an Interactive report.
Thanks in advance.
Rgds,
AKHi AK
Here's the procedure to post IDocs in ALE inbound processing in background.
Inbound IDocs and IDoc packets are first saved in the database. IDoc packets are split into single IDocs beforehand.
The program RBDAPP01 later releases the saved IDocs for processing. Single IDocs can be put into packets and then processed.
Perform the following steps:
1. Set-up background processing (IDoc/ALE area menu):
IDoc Interface/ALE --> Administration --> Runtime Settings --> Partner Profiles (WE20)
Then the required setting is: In the detail screen Inbound Parameters select the option Trigger by background program.
2. Schedule posting (ALE customizing):
Transaction SALE --> Set-Up System Monitoring --> Posting IDocs in Recipient System --> Schedule
You can also process the IDocs manually by passing them to the posting function module. In ALE Administration choose Monitoring --> Status Monitor (BD87), select the IDocs and then select Process.
You should choose background processing, especially if large data volumes are to be distributed. System performance is better.
Packet Processing can be used to process individual inbound IDocs in the background.
Dont forget to reward, if it helps ;>)
Regards,
Rakesh.
Message was edited by: Rakesh
Maybe you are looking for
-
I bought a recovery disc set 1 and 2 for a HP Pavilion dv6-1030us. After recovery, my windows vista keeps asking me to enter the product code and a message that says that my copy of windows is not genuine.
-
The 30 October i buy a macbook pro with retina display (On Apple store) And it's suppose to receive a invoice by Email but i don't have anything ?? Thanks
-
Help setting validation based on route selected
If the LC form only has one submit button, how do you set a validation on submit based on the route selected when running forms in workspace? For example, if users have the option to Approve or Reject a form, can you determine which route they have s
-
Load Applet Error on Sun SPE Pages
Hi, I have a scenario where I am displaying the IDMXExampleEndUser form on the home page when an SPE user logs in. This form has a field definition for listing resources as follows: <Field name='resources'> <Display class='MultiSelect'> <Property nam
-
ITunes 11.0.1 stops working wile playing movies or music...
In the last few days iTunes has stopped working as it once did ( I'm not referring to v10 ). Playing music, watching a podcast or a movie... After a few seconds / minutes / hours... iTunes seems to be paused, sometimes it starts playing again other t