830 Function Code in IDOC posting only in Forecast Schedule of Agreement
Hi All,
I am trying to post an 830 IDOC against a Scheduling agreement. Each time i post it is updating the forecast schedules of the agreement. In our case we have IS auto version and i want the IDOC to update the JIT schedules. Can anyone tell me what i need to check or rectify in order to achieve this.
Priyanka
Hi Priyanka
When you are posting DELINS or DELJIT against your scheduling agreement; check for the following to ensure what schedules it will update.
In the IDOC; segment: E1EDP10 and field: SCREL. this will have values like 02 or 03.
If the value in this field is = 03; then your IDOC will update the forecast schedules (as it is happening currently).
If the value in this field is = 02, then your IDOC will update the JIT schedules of the agreement. This is the key for posting the schedules. So please check this value.
Hope this helps
Regards,
Syed Nasir
Similar Messages
-
/SAPTRX/IDOC_INPUT_EVMSTA IDoc posting only works for single BAPI call
Although the settings and code imply that the function /SAPTRX/IDOC_INPUT_EVMSTA can handle multiple events in a single IDoc the fact is that the code does not have a refresh statement on the BAPI internal tables with the loop through the IDoc control record. This means that we end up posting multiple events for the the same event during Idoc posting.
Is SAP going to fix this situation? PS: The same applies with the EHPOST Idoc function module.
Thank you
KevinDear,
I just debugged my Z-function, after adding all input parameters as in the standard BAPI function.
All parameters seems to be passed correctly except from the table parameters from
CLASS_OBJECTS
So all I_parameters are passed :
{ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_INT} = "EN" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_LANGU_ISO} = "EN" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_KEY_DATE} = Date (2011, 08, 05) and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSNUM} = "DSWTEST" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CLASSTYPE} = "001" and
{ZBAPI_CLASS_GET_CLASSIFICATION.I_CHARACTS_OF_CLASS_ONLY.BAPIFLAG} = ""
but the table parameters aren't coming through:
{ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_TYPE} = "MARA" and
{ZBAPI_CLASS_GET_CLASSIFICATION.T_CLASS_OBJECTS.OBJECT_KEY} = "000000000000000085" and
these are 'blanco' in the function.
also after the function is executed and all data is retrieved, when passing the data back to Crystal reports, once again, the table result isn't passed to Crystal Reports.
please advise -
Posting only possible in periods 2011/11 and 2011/10 in company code 4000
Hi All Experts,
I have encountered with this error while doing MIGO.
Posting only possible in periods 2011/11 and 2011/10 in company code 4000
Message no. M7053
Diagnosis
The posting date entered is not within one of the permitted posting periods (current period/previous period).
This can be due to one of two reasons:
The correct current period has not been set in the system.
For the system, the first of the entered periods is the current period. At the beginning of a new period, your systems administrator must change the current period in the material master record, using the function "Shift periods". This has not yet been done.
You have entered a wrong date in the field "Posting date".
Procedure
Check the posting date and correct it if necessary. If your input is correct, inform your systems administrator that the "period shifting" (period-end closing) process has not yet been completed.
I have checked OB52, OB29, OB37, MMPV, MMRV. All possible T.codes and threads I tried from SDN itself, still no luck ! In OB52 I have opened 2011 & 2012 year open absolute.
Would like to share MMRV settings :-
Current Period : 11 / 2011
Previous Period : 10 / 2011
Last period in prev year : 12 / 2010
We have India based client so fiscal year variant is Apr to March copied from V3.
Will be very much appreciable experts guidane !
Regards,
Sharvari Joshi.Hi All Experts,
I raised the OSS, and here which I got the reply from SAP.
There is a possibility to run the report RMMMINIT to initialize posting
periods. Please bear in mind that the valuation data of the previous
period could get affected.
If you decide to proceed with the process, please review the
documentation of program RMMMINIT.
Please also review attached note 70545 regarding the initialization
process. Although this note is NOT valid for your release, it provides
good information on the use of initialization for correction purposes.
Additionally, please review attached note 369637 in this regard as well.
PLEASE FIRST PERFORM THIS IN A TEST/DEVELOPMENT SYSTEM PRIOR TO MOVING
TO PRODUCTION AS YOUR VALUATION DATA FROM PREVIOUS PERIOD WILL BE
AFFECTED. If you are satisfied with the results, then you can move it
to production. Please perform this at your own risk as this hotline
will not support any problems arising out of it.
Related the error message MM016 please follow the steps from note
487381:
To reserve the parameter use transaction SU01 for the user's name who
executes the RMMMINIT program. The parameter must be set as follows:
Parameter Value
MMPI_READ_NOTE YYYYMMDD (for the current date)
I am not able make out any meaning out of it. Can anyone please understand me this ?
Help will be appreciated !
Reagrds,
Sharvari Joshi.
P.S : Steps from my side which I performed , I changed the parameters for my ID in SU01 to current date 2011.11.16 (YYYYMMDD) and running MMPI still same error. -
Inbound IDoc Posting Function Module
Give me an example of how to write "Inbound IDoc Posting Function Module".
In my IDOC i have 10 segments each containing 1 field.
How do i create the Inbound IDoc Posting Function Module ??
Is the following code correct ??
FUNCTION ZIDOC_INBOUND.
""Local interface:
*" 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
*" IDOC_DATA STRUCTURE EDIDD
*" IDOC_STATUS STRUCTURE BDIDOCSTAT
*" RETURN_VARIABLES STRUCTURE BDWFRETVAR
*" SERIALIZATION_INFO STRUCTURE BDI_SER
*" EXCEPTIONS
*" WRONG_FUNCTION_CALLED
*DATABASE TABLES
TABLES:LIKPUK.
*DATA DECLARATIONS
DATA: SALES_ORDER_NUM LIKE Z1VBELN.
DATA: DEL_TYPE LIKE Z1LFART.
DATA: ACTUAL_GOODS_MOVEMENT_DATE LIKE Z1WADAT_IST.
DATA: SHIPPING_POINT LIKE Z1VSTEL.
DATA: LOADING_POINT LIKE Z1LSTEL.
DATA: ROUTE_PGI LIKE Z1ROUTE.
DATA: PICK_DATA LIKE Z1KODAT.
DATA: CUST_NO LIKE Z1KUNNR.
DATA: LOCAL_DATE LIKE Z1STDAT.
DATA: TOTAL_GOOD_MOV LIKE Z1WBSTK.
*INTERNAL TABLE DECLARATION
DATA:
IT_LIKP LIKE LIKPUK OCCURS 0 WITH HEADER LINE.
INITIALIZE WORK FLOW
WORK_RESULT = C_WF_RESULT_OK.
LOOP AT IDOC_CONTRL.
MAKE SURE WE HAVE CORRECT MESSAGE TYPE PASSED.
IF IDOC_CONTRL-MESTYP NE 'Z_IDOC_PGI'.
RAISE WRONG_FUNCTION_CALLED.
ENDIF.
CLEAR APPLICATION BUFFERS BEFORE READING NEW ENTRY
CLEAR :IT_LIKP.
REFRESH IT_LIKP.
*PROCESS ALL THE DATA RECORDS IN AN IDOC AND TRANSFER THEM TO
*APPLICATION BUFFERS
INCLUDE MBDCONWF.
LOOP AT IDOC_DATA WHERE DOCNUM EQ idoc_contrl-docnum.
CASE IDOC_DATA-SEGNAM.
WHEN'Z1VBELN'.
SALES_ORDER_NUM = IDOC_DATA-SDATA.
MOVE-CORRESPONDING SALES_ORDER_NUM TO IT_LIKP.
WHEN 'Z1LFART'.
DEL_TYPE = IDOC_DATA-SDATA.
MOVE-CORRESPONDING DEL_TYPE TO IT_LIKP.
WHEN 'Z1WADAT_IST'.
ACTUAL_GOODS_MOVEMENT_DATE = IDOC_DATA-SDATA.
MOVE-CORRESPONDING ACTUAL_GOODS_MOVEMENT_DATE TO IT_LIKP.
WHEN 'Z1VSTEL'.
SHIPPING_POINT = IDOC_DATA-SDATA.
MOVE-CORRESPONDING SHIPPING_POINT TO IT_LIKP.
WHEN 'Z1LSTEL'.
LOADING_POINT = IDOC_DATA-SDATA.
MOVE-CORRESPONDING LOADING_POINT TO IT_LIKP.
WHEN 'Z1ROUTE'.
ROUTE_PGI = IDOC_DATA-SDATA.
MOVE-CORRESPONDING ROUTE_PGI TO IT_LIKP.
WHEN 'Z1KODAT'.
PICK_DATA = IDOC_DATA-SDATA.
MOVE-CORRESPONDING PICK_DATA TO IT_LIKP.
WHEN'Z1KUNNR'.
CUST_NO = IDOC_DATA-SDATA.
MOVE-CORRESPONDING CUST_NO TO IT_LIKP.
WHEN'Z1STDAT'.
LOCAL_DATE = IDOC_DATA-SDATA.
MOVE-CORRESPONDING LOCAL_DATE TO IT_LIKP.
WHEN'Z1WBSTK'.
TOTAL_GOOD_MOV = IDOC_DATA-SDATA.
MOVE-CORRESPONDING TOTAL_GOOD_MOV TO IT_LIKP.
ENDCASE.
ENDLOOP.
selecting data from the database
select * from likp into corresponding fields of table it_likp.
add status record
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = it_likp-VBELN.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = it_likp-VBELN.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-LFART.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-WADAT_IST.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-VSTEL.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-LSTEL.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-ROUTE.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-KODAT.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-KUNNR.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = SY-DATLO.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = SY-DATLO.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
IF SY-SUBRC EQ 0.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-MSGTY = 'I'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '004'.
IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
ELSE.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = 'YM'.
IDOC_STATUS-MSGNO = '005'.
IDOC_STATUS-MSGV1 = IT_LIKP-WBSTK.
APPEND IDOC_STATUS.
CLEAR IDOC_STATUS.
WORKFLOW_RESULT = C_WF_RESULT_ERROR.
RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
CLEAR RETURN_VARIABLES.
ENDIF.
endloop.
endfunction.Hi,
First goto WE20-> click on the logical system , now select the receiver LS which you are using as your partner. Now in the inbound parameters cehck what is the process code is attached.
once you get the process code then go to WE42 tcode.. there you give the process code and then double click you will get the function module IDOC_INPUT_FIDCMT.
Hopw you got my point.
Regards,
Nagaraj -
Posting only possible in periods 2002/03 and 2002/02 in company code 0001
All
This is in the ongoing sequence where I am creating everything from the scratch(customers, material, prices etc).So far, I have been able to create and save the salesorder>deliver it>pick the items and then I was going to carry out the PGI and then this happened.
when I use the date i.e(Planned GI) 27-09-2006, I receive the following error
****************snip********************
Goods movement: Error log
Item Material Description Delivery qty UoM Batch
000010 9 T-AS1_MATERIAL__9 10 PC
E M7 053
Posting only possible in periods 2002/03 and 2002/02 in company code 0001
************End snip*********************
If I use a date as R/3 wants ,say 27.02.2002(Planned GI),I get:-
"Picking date is after goods issue date"...which is obvious.
any day after 27-09-2006, say 28-09-2006(Planned GI), I get :-
"Goods issue date is later than delivery date"...makes sence too
one thing was clear here to me, I can only post in Feb/March 2002, while my delivery date is 27 Sept 2006 . So I am in a classic chicken-egg situation.
where and who is giving this "Posting only possible in periods 2002/03 and 2002/02 in company code 0001" message ? How can I override this thing from the past ?
I thought of playing it smart and change my system date to the year Feb. 2002 , but in the fear that a lot of other things will fall as a result of that, I did refrain from doing so.
Could someone make this PGI succesful for me
Thanks for any lessons.Thanks Mr. Srinivas
MMPV was indeed the magic wand.
PGI was successful.
this is my overall document flow as of now :-
Standard Order 2 27.09.06 Completed
. Outbound delivery 80000000 27.09.06 Completed
.. WMS transfer order 1 29.09.06 Completed
.. GD goods issue:delvy 4900000020 30.09.06 complete
.. Invoice 90000000 30.09.06 Missing export data
As I understand, my invoicing is not yet complete , it's got a number and got saved, but how shall I get rid of that red line message "Missing export data"(foriegn trade data incomplete...was the message while saving the billing document).I would be darn happy if I could just get rid of the foreign data part completely(just want to complete the invoice).Would this be checking off a mandatory rqmt. somewhere in the master data?
and would this also be the reason, why I see no accounting document which should have been on status 'open' by now ?
Thanks in advance , -
Posting only posisble error in periods 2009/08 and 2009/07 in company code
Hi Experts,
When my user do GI for this month he got error as mentioned below,
Posting only possible error in periods 2009/08 and 2009/07 in company code
Already i have done it but still am not confident.
Also this particular corrections i need to do it in Production system
Please guide which month i need to enter 1st in MMPV,request you to explain step by step.
Cheers,
Kumar.SHi,
Check in T.code: MMRV and see which period is open for ur Co.Code and back posting is allowed or not.
In MMPV open period 09 with your company code.
Note-1: Check Fiscal Period Variant in OBY6..........is it K4.
Note-2: From FI side check or Now use t.code: OB52 and open the 09, 2009 period in Account Types A, K, D,M, S and specially Account Type u201C+u201D which stands for valid for all accounts type and save. Better consult FICO consultant for OB52 step.
Regards,
Biju K -
T-code F-28 (Post Incoming Payments) - only 16 lines to enter invoice doc
Hope someone can help me on the following issue:
Issue is pertaining to t-code F-28 (Post Incoming Payments). There are only 16 lines for user to enter invoice documents when we select Document Number for the Additional Selection. For some cases, we do need to enter more than 16 lines.
Question:
1. Anyway to increase number of lines for user to enter invoice documents
2. Any workaround if the number of lines cannot be increased.
Thank you very much.
WilsonHi,
That is standard SAP screen defination.
You can use "Page Down" button to enter additional 16 document numbers and so on. Or can give the document numbers in ranges.
If you have a huge list of invoice numbers to be given which can not be met by above, then you need to develop a custom program to call BDC or BAPI_ACC_DOCUMENT_POST
Regards,
Gaurav -
How to assign function module with process code in IDOC ?
how to assign function module with process code in IDOC ? and what code i have to write in that function module for custom IDOC ?
helpful answer will be rewarded?Hi,
First goto transaction we42 -->editing mode --> new entries -->give name of your process code and description --> processing with alv service and function module -->then press enter -->after that enter the name of the function module you want to associate from the drop down and save it.
Thats the way to assign function module with process code.
In that process code we will have the Function modules and Bapi's which will take the data which we are sending through IDOC and then process it.
for example: i am triggering the IDOC for every purchase order created then this process code in the receiver system will take the data which i have enetered in the sender system to create the purchase order and process it and creates the same purchase order in the receiver's system.
Reward if helpful.
with regards,
Syed -
Posting only possible in periods 2008/06 and 2008/05 in company code IBM1
Hi,
while entering Goods Reciept,
the following error is displayed.
Posting only possible in periods 2008/06 and 2008/05 in company code IBM1
Message no. M7053
could any one please tell regarding this.
Thanks & Regards,
SwathiHi Swathi,
Go to OMSY / MMRV and check which month is running against your company code.
Go to MMPV and close the previous period.
Note the Period 1 in the sence April and May 2 follows like this.
Suppose if you want to close the June Month then you have to close the 3. (Ofcourse it depends on Fiscal year dependent).
Now go to OB52 and check the Posting Periods below.
1000 + 1 2002 12 2008 13 2008 16 2008 SPPE
1000 A ZZZZZZZZZZ 1 2002 12 2008 13 2008 16 2008
1000 D ZZZZZZZZZZ 1 2002 12 2008 13 2008 16 2008
1000 K ZZZZZZZZZZ 1 2002 12 2008 13 2008 16 2008
1000 M ZZZZZZZZZZ 1 2002 12 2008 13 2008 16 2008
1000 S ZZZZZZZZZZ 1 2002 12 2008 13 2008 16 2008
If any of the above is missed, correct it.
Definitely it will works in your case.
Revert back if not solved.
Reg,
Ashok
Rewards welcome. -
Starting new database LUW inside ABAP during IDoc posting
Hi all,
During posting of an inbound IDoc, I am trying to update my Z-table in user-exit. I want to do it regardless of the result of IDoc posting. The problem is: if IDoc posted successfully - table is updated because COMMIT WORK is called at the end of the posting, however, if IDoc not posted - ROLLBACK WORK is called and table is not updated. So, my aim now is to commit the update of Z-table in any case, but it is the only thing that should be committed - no other prior update FMu2019s should be committed.
I'm aware about the following thread
http://forums.sdn.sap.com/thread.jspa?threadID=1884700
Author of this thread says that he solved a problem by means of RFC and STARTING NEW TASK. But ABAP help says
that starting asynchronous RFC triggers immediately a database commit in the calling program (which is unacceptable because all prior update FMu2019s will be committed ). I've checked and it is really the case.
From my point of view SET UPDATE TASK LOCAL with COMMIT WORK should work in such kind of tasks, but in case of IDoc processing the whole process runs in a local update (see SET UPDATE TASK LOCAL in FM 'IDOC_INPUT'), so writing once again SET UPDATE TASK LOCAL has no effect.
I tested SUBMIT statement as well. It had no effect and then I found out from ABAP help that SUBMIT ... AND RETURN starts new SAP LUW, but NOT a DB LUW. That is if I update my Z-table in the program called by SUBMIT - all ROLLBACK statements still affect my Z-table update.
Is there any simple solution? Please suggest.
Thanks in advance!Hello,
Try SUBMIT VIA JOB.....
Sample Code
call function 'JOB_OPEN'
exporting
jobname = name
importing
jobcount = number
exceptions
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
others = 4.
if sy-subrc = 0.
submit z_idoc_create_process_order and return
via job name number number
with p_aufnr = it_header1-aufnr
with p_werks = it_header1-werks
with p_autyp = c_autyp
with p_auart = it_header1-auart
with p_dispo = it_header1-dispo
with p_opt = c_opt
with p_mestyp = c_mestyp.
if sy-subrc = 0.
call function 'JOB_CLOSE'
exporting
jobcount = number
jobname = name
strtimmed = 'X'
exceptions
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
others = 8.
if sy-subrc 0.
endif. -
"Function code cannot be selected" error while uploading a document.
Hi,
When we try to upload a document into SAP the user is getting the error "Function code cannot be selected". Detailed error is given below. Only one user is facing this error in PRD. For all other users it is working fine. We replicated the same issue in testing systems and it is working fine there with the same user's id.
The detailed error is,
No batch input data for screen SAPLF040 0300
Message no. 00344
Diagnosis
The transaction sent a screen that was not expected in the batch input session and which therefore could not be supplied with data.
Possible reasons:
1. The batch input session was created incorrectly. The sequence of screens was recordly incorrectly.
2. The transaction behaves differently in background processing in a batch work process than when running in dialog (SY-BATCH is queried and changes the screen sequence).
3. The transaction has undergone user-specific Customizing and therefore certain screens may be skipped or processed differently, according to the current user. If the person who created a batch input session is not the same as the person now processing it, this problem may occur frequently.
System Response
None.
Procedure
For 1: Either re-create the session or process it in expert mode. Correct the batch input program.
For 2. It is very difficult to analyze this problem, particularly in the case that the screen sequence or the display-only options of fields differ according to whether the transaction is being processed in the background or as an online dialog. It could also be that this kind of transaction cannot run with batch input.
For 3: Have the creator of the session process it. If no error occurs now, then this is a program with user-specific Customizing.Hi Amar,
I am facing the same issue while processing Vendor master inbound idocs, Few Idocs gone in error with error message "Function code cannot be selected".
Could you please suggest any solution found for the same.
Thanks in advance
Shivam -
I am developing a function module in ECC that will be used to post inbound IDOC for customer creation DEBMAS07
The logic is as follows -
The function receives an IDOC structure
It then invokes function module 'IDOC_INPUT_DEBITOR'
IDOC_INPUT_DEBITOR takes care of creating a new customer in table KNA1. But I was expecting IDOC_INPUT_DEBITOR to also handle the IDOC posting. This way I can go to WE02 and see a new IDOC record. What am I missing? Is there some more code I need to write after the function module call?
Thank you.
* IDOC structures for using ALE
data lc_no_display type bdwfap_par-inputmethd value ' '.
data lt_idoc_control type standard table of edidc.
data ls_idoc_control type edidc.
data lt_idoc_data type standard table of edidd.
data lt_idoc_data_knvi type standard table of edidd.
data lt_idoc_status type standard table of bdidocstat.
data ls_idoc_status type bdidocstat.
data lt_return_variables type standard table of bdwfretvar.
data lt_serialization_info type standard table of bdi_ser.
data lv_workflow_result type bdwf_param-result.
data pi_idoctyp type edi_iapi00-idoctyp.
data pt_segments type standard table of edi_iapi11.
data lw_segments type edi_iapi11.
data ls_idoc_data type edidd.
data ls_e1kna1m type zdebmas07_e1kna1m.
data e1kna1m type e1kna1m.
*** CONTROL DATA
ls_idoc_control-mandt = input-idoc-edi_dc40-mandt.
ls_idoc_control-status = input-idoc-edi_dc40-status.
ls_idoc_control-doctyp = input-idoc-edi_dc40-idoctyp.
ls_idoc_control-direct = input-idoc-edi_dc40-outmod.
ls_idoc_control-rcvprt = input-idoc-edi_dc40-rcvprt.
ls_idoc_control-rcvprn = input-idoc-edi_dc40-rcvprn.
ls_idoc_control-stdmes = input-idoc-edi_dc40-stdmes.
ls_idoc_control-outmod = input-idoc-edi_dc40-outmod.
ls_idoc_control-sndpor = input-idoc-edi_dc40-sndpor.
ls_idoc_control-sndprt = input-idoc-edi_dc40-sndprt.
ls_idoc_control-sndprn = input-idoc-edi_dc40-sndprn.
ls_idoc_control-mestyp = input-idoc-edi_dc40-mestyp.
ls_idoc_control-idoctp = input-idoc-edi_dc40-idoctyp.
append ls_idoc_control to lt_idoc_control.
*** READ SEGMENTS
pi_idoctyp = ls_idoc_control-idoctp.
call function 'IDOCTYPE_READ_COMPLETE'
exporting
pi_idoctyp = pi_idoctyp
tables
pt_segments = pt_segments
exceptions
object_unknown = 1
segment_unknown = 2
relation_not_found = 3
others = 4.
loop at pt_segments into lw_segments.
case lw_segments-segmenttyp.
when 'E1KNA1M'.
ls_idoc_data-segnam = 'E1KNA1M'.
ls_idoc_data-mandt = sy-mandt.
ls_idoc_data-segnum = lw_segments-nr.
ls_idoc_data-psgnum = lw_segments-parpno.
ls_e1kna1m = input-idoc-e1kna1m.
move-corresponding ls_e1kna1m to e1kna1m.
move e1kna1m to ls_idoc_data-sdata.
append ls_idoc_data to lt_idoc_data.
exit.
endcase.
endloop.
*** IDOC INPUT CALL FUNCTION
data: response type zsi_create_customer_is_res_tab.
data: response_lwa type zsi_create_customer_is_respons.
data: lwa_error_message type string.
call function 'IDOC_INPUT_DEBITOR'
exporting
input_method = lc_no_display
mass_processing = space
importing
workflow_result = lv_workflow_result
tables
idoc_contrl = lt_idoc_control
idoc_data = lt_idoc_data
idoc_status = lt_idoc_status
return_variables = lt_return_variables
serialization_info = lt_serialization_info
exceptions
wrong_function_called = 1
others = 2.Hello Megan,
Check with the function modules
EDI_DATA_INCOMING
IDOC_WRITE_AND_START_INBOUND
Program:
RBDAPP01
I guess this would answer your query.
Regards,
TP -
Validation for GL 23876 to to post only for KG doc type
hi all
i want to write a validation for a GL 238760 this must only be posted only in KG document type it must not post in other doc type like KR nd KZ
i want to write a validation for this.
in the GGB0 screen which message type shall i select and what steps shall i use for this.
please let me know the validation for this function.
Kind regardsHi:
Please go to GGB0...Create a validation in financial accounting at line item level by selecting line item and create a step. It will open 3 further drop down for you. Select the 1st one and proceed as follows
Prerequisites:
BKPF-BLART = 'KG' (here you can make it transaction code specific as well)
Check:
BKPF-HKONT = '23876'
(you can give set of GL account by creating it in GS01 and specifying it here)
Message:
Assign an error message to it with category E.
Please check this will work .
Regards -
Debugging customized function module when Idoc is triggered via ALE
Hi,
Whenever we save the billing document, an outbound idoc is triggered via ALE. The logic for the data to be included in the idoc is written in a customized function module.
However we are making some changes and would like to include some more data in the idoc. But we find that when we put a breakpoint in the function module, on saving the billing document, the flow does not stop at the break point. We are 100% sure that the code in the function module gets executed based on the data in the idoc.
How do we get into debug mode and break the flow in the function module so that we can debug in the function module?
Any help would be greatly appreciated.
Thanks in advance,
MickHi Mick, this might be of some help 4 u.
ALE IDOC
Sending System(Outbound ALE Process)
Tcode SALE - for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 - Create Model View
Tcode BD82 - Generate partner Profiles & Create Ports
Tcode BD64 - Distribute the Model view
Message Type MATMAS
Tcode BD10 - Send Material Data
Tcode WE05 - Idoc List for watching any Errors
Receiving System(Inbound ALE )
Tcode SALE - for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 - Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 - Idoc List for inbound status codes
ALE IDOC Steps
Sending System(Outbound ALE Process)
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 - Create Model View
Tcode BD82 - Generate partner Profiles & Create Ports
Tcode BD64 - Distribute the Model view
This is Receiving system Settings
Receiving System(Inbound ALE )
Tcode SALE - for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 - Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 - Idoc List for inbound status codes
Message Type MATMAS
Tcode BD10 - Send Material Data
Tcode WE05 - Idoc List for watching any Errors
1)a Goto Tcode SALE
Click on Sending & Receiving Systems-->Select Logical Systems
Here Define Logical Systems---> Click on Execute Button
go for new entries
1) System Name : ERP000
Description : Sending System
2) System Name : ERP800
Description : Receiving System
press Enter & Save
it will ask Request
if you want new request create new Request orpress continue for transfering the objects
B) goto Tcode SALE
Select Assign Client to Logical Systems-->Execute
000--> Double click on this
Give the following Information
Client : ERP 000
City :
Logical System
Currency
Client role
Save this Data
Step 2) For RFC Creation
Goto Tcode SM59-->Select R/3 Connects
Click on Create Button
RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
give the information for required fields
RFC Destination : ERP800
Connection type: 3
Description
Target Host : ERP000
System No:000
lan : EN
Client : 800
User : Login User Name
Password:
save this & Test it & RemortLogin
3)
Goto Tcode BD64 -- click on Change mode button
click on create moduleview
short text : xxxxxxxxxxxxxx
Technical Neme : MODEL_ALV
save this & Press ok
select your just created modelview Name :'MODEL_ALV'.
goto add message type
Model Name : MODEL_ALV
sender : ERP000
Receiver : ERP800
Message type :MATMAS
save & Press Enter
4) Goto Tcode BD82
Give Model View : MODEL_ALV
Partner system : ERP800
execute this by press F8 Button
it will gives you sending system port No :A000000015(Like)
5) Goto Tcode BD64
seelct the modelview
goto >edit>modelview-->distribute
press ok & Press enter
6)goto Tcode : BD10 for Material sending
Material : mat_001
Message Type : MATMAS
Logical System : ERP800
and Execute
7)goto Tcode : BD11 for Material Receiving
Material : mat_001
Message Type : MATMAS
and Execute --> 1 request idoc created for message type Matmas
press enter
Here Master Idoc set for Messge type MATMAS-->press Enter
1 Communication Idoc generated for Message Type
this is your IDOC
Change Pointers
I know how to change the description of a material using ALE Change Pointers.
I will give the following few steps
1) Tcode BD61---> check the change pointers activated check box
save and goback.
2) Tcode BD50---> check the MATMAS check box save and comeback.
3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
4) Tcode BD52---> give message type : matmas press ok button.
select all what ever you want and delete remaining fields.
save & come back.
5) 5) go to Tcode MM02 select one material and try to change the description and save it
it will effects the target systems material desciption will also changes
6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
give Message type : MATMAS and Executte
ALE/IDOC Status Codes/Messages
01 Error --> Idoc Added
30 Error --> Idoc ready for dispatch(ALE Service)
then goto SE38 --> Execute the Program RBDMIDOC
29 Error --> ALE Service Layer
then goto SE38 --> Execute the Program RSEOUT00
03 Error --> Data Passed to Port ok
then goto SE38 --> Execute the Program RBDMOIND
12 Error --> Dispatch ok
Inbound Status Codes
50 Error --> It will go for ALE Service Layer
56 Error --> Idoc with Errors added
51 Error --> Application Document not posted
65 Error --> Error in ALE Service Layer
for 51 or 56 Errors do the following steps
goto WE19 > give the IDOC Number and Execute>
Press on Inbound function Module
for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
cheers,
Hema. -
Process code for IDOC Output from MIRO
Hi,
We need to find the Process code for IDOC output to assign Output type in ECC. We need the IDOC output to some other system like PR while doing the invoice Posting (Transaction code MIRO). We tried Using process code SD09 for the IDOC with IDOC Type INVOIC02. In SD09 we are getting error (Update terminated) when we trigger the output while saving in MIRO transaction.
Further we understand that process code SD09 is used for SD billing and Invoice process.
We need your help in
1. getting the correct process code for the IDOC generation for Invoice posting thru MIRO.
2. If we need to configure one process code, let me know the correct function module for the same.
Please Note, we need this as Output Idoc from Invoice Posting MM (MIRO).Hi Shankar,
Thanks for quick for reply. We have tested this process code with IDoc type - GSVERF03 and message type - GSVERF. It worked for us for MIRO transaction.
we are testing with IDoc type INVOIC02.
once again thanks for sharing the process code.
Regards,
Brahma
Maybe you are looking for
-
I don't want to start a discussion. i need help. from an adobe tech support. please. i have followed the suggestions of dealing with a failed update and nothing works. this is high frustrating. i repeat: I DON'T NEED HELP FROM OTHER USERS. I WANT A T
-
How do you change default note size
This must be an old question but search found me nothing. I just want to find a default to change the note size for all slides to something besides the very large one I'm now stuck with. Thanks!
-
I've been doing some experimental encodes from compressor as a result of 'white papers' on a few forums. I imported interlaced footage into compressor and using encoding options exported it as a 'progressive' mpeg2. Opened DVDSP and added a track. Ne
-
Information Bubble on Specific Field
Hello Experts, I need to implement a mouse-over information bubble on some specific field. which enables the users to get the information about the values to be filled into the field. Thus i tried to use the Information Bubble script from the TTOCOD(
-
MacBook Pro and Core 2 Duo...Glossy or Matte?
Hi there, I am anxiously awaiting to see what Apple will be announcing (hopefully) today with regards to the new Intel Core 2 Duo and their notebooks. I definately want a MacBook Pro, but don't know if the Core 2 Duo is worth waiting for. I want my M