MRP - VB type deletes already created purchase orders
Dears,
Recently sth happened with MRP planning for materials with VB (reorder point) type at my client.
If stock is below reorder point MRP generates requisition correctly. But when requisition is converted to purchase order and delivery date is changed (+ few days) a new MRP run suggests to delete such purchase order and creates new requisition with delivery day = today.
1st clue I had was to check planning horizon period in SPRO but it's 30 days so any purchase orders within this period created with reference to MRP requisitions should be "visible" for MRP.
Planning mode is standard (adapt).
Do you have any idea what could happen?
Regards,
Marcin
Hi Amit,
I've checked this. VB type seems to be unchanged - SAP standard settings. As far as I know there are 4 factors that have influence on reorder point planning:
1. Material mater data - MRP type and reorder point level
2. MRP type settings - VB in this case is a SAP standard
3. Config - planning horizon (in this case long enough to cover diffrences in delivery dates between PREQ and PO dates)
4. Planning parameters:
Processing key NETCH
Create purchase req. 1
Delivery schedules 3
Create MRP list 1
Planning mode 1 (adopt - normal mode)
Scheduling 1
Parameters seems to be correct but system still recreates PREQs and wants to delete POs...This is very odd behaviur. I'll try to find sth in OSS.
Hope You'll have any idea.
Thanks,
Marcin
Similar Messages
-
How to trigger workflow for already created purchase order ?
HELLO EXPERTS
let me clear my scenario first . i have 1 purchase order whose workflow is not triggered . means it is showing me message no workflow that have already worked for this object.i have created 1 more purchase order taking reference of this purchase order means both are same same message for this po also. it was happening because event linkage for the business object bus2012 is not activated but now it is enabled and i have created third purchase order with reference to above po means this third po is also same as above 2 no change other than po number but for this workdflow is getting triggered . now i want to trigger workflow for orignal first po but for my first po it is showing me same message that no workflow that have already worked for this object. what i have to do to trigger workflow for this po. i have performed this steps in test system. i have workflow numberHello !
You can trigger the workflow from SWUE.Enter bus2012 and created for object type and event respectively.
Click object key button where enter the purchase order number which have been already created.
But, why do you want to trigger the workflow again for already created purchase order ?
Regards,
S.Suresh -
Deleated Valuation Type --Need Error Message while creating Purchase Order
Hi,
In our scenario , i need a message should flash , if enduser by mistake select the deleated valuation type while creating Purchase Order.
In current configuration , it's not there.
Await your expert opinion.
Regards
Shyam KogtaI investigated this recently in our company and gave this answer:
A deletion flag does not restrict anything. It is just an indicator to tell SAP that you want this record to be deleted with the next archiving run.
The archiving run then checks if a deletion is possible or not.
So you can set such deletion flags long time in advance, even at a moment where you still have inventory.
To block materials from beeing used in business transactions, usually the material and sales status are used. But these statuses can only be set at overall, plant and sales organisation level.
In some transactions SAP issues warning messages if a material has a deletion flag. This messages could be customized to be an error and prevent any business. However, this type of restriction is not designed for our machine, as we use the material and sales status.
Anyhow, there is no message for valuation types that have a deletion flag in procurement area.
There is one for goods receipts (but only for a certain industry solution that is not used by us)
There is one for deliveries ( VL 211 ).
The valuation types are defaulted from customizing to the transaction e.g. purchase order. Or from info record to the PO. So a standard purchase order gets valuation type ABC , while an internal order (production) gets the DEF. Usually there should not be a need to change this valuation type manually.
So the only solution is to archive the material master at valuation type level.
But I guess, you already have POs with that wrong valuation type, which means you have to archive the POs first. It you have already batches with wrong valuation type, then thy have to be archived as well before a material can be archived.
And finally if you had stock in current year, then you can archive your material in year after next year, as SAP archives only materials that have no stock in current and previous year. -
How to create a Inbound delivery type for a special purchase order type
Hi,
I try to create a special Inbound delivery type for a special purchase order type (a transfer purchase order).
In SD module, I can créate a special outbound delivery and precise the sale order type, but I don't manage to do it for a Inbound delivery type.
Do you know if i can do it without specifiq?
Regards,
RoselyneHi Roselyne,
What you experienced is standard system behavior. Inbound delivery type is uniquely assigned to confirmation control key. You can only specify confirmation control key on item level in PO. The assignment of Delivery type can be seen in the following table:
T163D
IBTYP EBTYP LFART RETDLV
1 AB X
2 LA EL X
3 GW EG
The field T163D-IBTYP is checked in different programms. For example in programm RM06ENAB (TA: ME92F). If you insist to customize the determination of delivery type by PO type, I strongly suggest you discuss with the Application consultants before making the modifications to ensure it won't impact other areas. -
MRP automatic create Purchase Order ?
Is anybody knows can MRP create Purchase Order directly skip P.R ?
Thanks !Hi,
This is possible through PR only.
Tick the automatic PO and Source List fields in purchase view of the material master for the vendors on whom you would like to release PO automatically. Create a purchase info record. Create source list. In the last column in the details screen of the source list check the field relevant for MRP set the correct parameters for running MRP. But PO can not be created automatically after MRP run.
The automatic PO creation flag enables you to run a batch job that will convert all selected Purchase Requisitions to be converted Purchase Orders in the background.
You may consider scheduling agreements if you want MRP to kick out Purchase Orders. Set the flag in the source list for the scheduling agreement to "2" enabling MRP to kick out delivery schedules for future requirements. If you want to fix the schedule within a certain period you have two options.
1. Using firm zone - firms all orders within this period . Refer additional data screen of the scheduling agreement at the vendor material level.
2. Planning time - all new orders outside of the planning time fence - refer MRP 1 view of the material master
Above document i cpied from link <b>Arif Mansuri <b>New to Materials Management / Warehouse Management?</b></b>
Raghu -
I need output type NEU automaticaly for create purchase order document type
Dear Experts,
I need output type NEU automaticaly for create purchase order document type NB
when transaction code MN04, I am doing the following:
(1) I selected the third option Purchasing Output determination: Document type
(2) I selected the output type NEU.
(3) In condition records in document type , i have chosen NB.
(4) In name its automatically coming as Purchase requisition
Please suggest how Purchase Order NB will comeHi,
Check & press F4, NB Purchase Order (for catagory F) will be there after entering PO output type NEU & then maintaion the condition record in MN04.
Output type NEU automaticaly defaulted during purchase order creation with document type ,then just fine tune the output (message) type in following path:
SPRO--->MM->Purchasing>Message>Output control->Message types> Define message type for Purchase Order----->Fine-Tuned Control: Purchase Order
Now here select the check box corresponding to your output(message) type NEU to have print output automatically displayed & save.
Now try to creating Purchase Order & you will have default message type NEU.
Regards,
Biju K -
'User already processing Purchase order' error while creating multiple SES
Hi Experts,
Error 'User XXX already processing Purchase order XXX' is thrown while creating multiple service entry sheets using FM 'MS_CREATE_SERVICE_ENTRY_MULTI'.
This error is not occurred for every entry sheet.Its occurring randomly for few records.
Kindly help me out to solve this issue...
Thanks in Advance...
Edited by: saibandar on Mar 1, 2012 8:09 AM
Edited by: saibandar on Mar 1, 2012 9:51 AMu have to call like this
<b>call dequeue_all</b>
after the COMMIT work.
if i_return[] is initial.
commit work and wait.
call function 'DEQUEUE_ALL'.
Regards
Prabhu -
Procure-to-Pay Scenario. Create Purchase Order
Hello Experts: I have a question regarding the Procure-to-Pay scenario and the Create PO functionality.
we are in SRM 7.0, Classic Scenario and we try to implement the Procure-to-Pay functionality as it is described in OSS note 1263876 "SAP SRM: Configuration of Procure-to-Pay Scenario".
Our idea is to transfer Purchase Requisitions from ECC6 to SRM using the CPPR application. But we will also take advantage of the integration with MM provided with this scenario.
If you are familiar with this, you will already know that, using the harmonized role for operational purchaser (ERP/SRM) an end user can create Purchase Orders in the backend. Our question is related to this functionality.
Using this role, the buyer can select Purchasing Documents under the detailed navigation area and, from there, he will have access to create Shopping carts, Purchase requisitions, Purchase Orders and Purchase order responses.
If we select Create Purchase Order, the application "Purchase Order: New" gets opened. Here we have to select the system where we want to create the new PO: either SRM or ECC6. Our first question is: As we are running a Classic scenario, why are we asked to select between SRM and ECC6?. It should be only ECC6, shouldn't be?
In any case, the SRM systems gets selected by default when we open "Purchase Order: New" appl. and bellow this field, you can see the PO types customized in SRM. If we change the system to ECC6 we see the following: "Number of purchase order types: 0" . So, no PO types are available. this is the second question: why do we have 0 PO types to be created when we select the ECC6 system? is there a missing customizing where we have to define which document types are vaialable to create POs in ECC6 from SRM Portal?.
To summarize: only ECC6 should be proposed as system to create POs (as we are running a Classic Scenario) and there should be ECC6 PO types available to create such POs in the ECC6.
Can you please tell us what is still missing in our configuration? Any help will be more than welcome
Many thanks in advance for your valuable help
Best regards
ValentíThe purpose of MRP run is to make sure that you always have enough stock.
An order to cost center will not increase stock.
Means: MRP is not able to create requisitions for cost center consumption. If you change a requisition created by MRP to be ordered to a cost center, then the next MRP run will create a new requisition to stock. -
Update was terminated while creating purchase order from ME21N
Hi Experts,
We are getting this dump when try to create purchase order from ME21N;
Our system ECC 6.0 and IS-AFS (Apparel & Footwear Solution) V600 component has installed,
How can we prevent this error,
Regards
Here is the dump and sm21 log,
Runtime Errors LOAD_PROGRAM_NOT_FOUND
Exception CX_SY_PROGRAM_NOT_FOUND
Date and Time 10.10.2008 10:22:03
Short text
Program "RMCMS431 " not found.
What happened?
There are several possibilities:
Error in the ABAP Application Program
The current ABAP program "SAPLMCS4" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
or
Error in the SAP kernel.
The current ABAP "SAPLMCS4" program had to be terminated because the
ABAP processor detected an internal system error.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_PROGRAM_NOT_FOUND', was not
caught in
procedure "TMC2F_FROUT_CALL" "(FORM)", nor was it propagated by a RAISING
clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
On account of a branch in the program
(CALL FUNCTION/DIALOG, external PERFORM, SUBMIT)
or a transaction call, another ABAP/4 program
is to be loaded, namely "RMCMS431 ".
However, program "RMCMS431 " does not exist in the library.
Possible reasons:
a) Wrong program name specified in an external PERFORM or
SUBMIT or, when defining a new transaction, a new
dialog module or a new function module.
b) Transport error
How to correct the error
Check the last transports to the R/3 System.
Are changes currently being made to the program "SAPLMCS4"?
Has the correct program been entered in table TSTC for Transaction "ME21N "?
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"LOAD_PROGRAM_NOT_FOUND" "CX_SY_PROGRAM_NOT_FOUND"
"SAPLMCS4" or "LMCS4F10"
"TMC2F_FROUT_CALL"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
The exception must either be prevented, caught within proedure
"TMC2F_FROUT_CALL" "(FORM)", or its possible occurrence must be declared in the
RAISING clause of the procedure.
To prevent the exception, note the following:
sm21 log ;
Transaction Canceled 00 671 ( LOAD_PROGRAM_NOT_FOUND 20081010102203saptest_TET_00 EYUCE 100
Update terminated
> Update key: F39796DD5421F1509233001E0BD601E0
> Update module: MCE_STATISTICS_UPD_V2
Run-time error "LOAD_PROGRAM_NOT_FOUND" occurredPlease follow the oss note 800335
V2 Update terminations in Purchasing transactions after upgrading or installing AFS 5.0 release.
Other terms
AFS, LIS, MIGO, ME22N, OLI3, S433, S431
Reason and Prerequisites
AFS Purchasing infostructure S431 is no longer used. S433 is the valid infostructure for the release AFS 5.0.
Solution
Please do the following.
For customers upgrading to AFS 5.0 only:
> Rebuild Infostructure S433.
- Goto transaction: OLI3 (Statistical Set up of Infostructures)
- Info structure to be compile: S433
- Specify the 'Name of run'.
- Execute.
> Please also follow the instructions given below.
For both Upgrade and Non-upgrade Customers:
> Create the report 'ZDELS431'.
- Transaction: SE38
- Give Program name as ZDELS431.
- Create (F5).
- Title : 'Program to delete S431'.
- Type : 1 (Executable Program).
- Status: T (Test Program).
> Copy the program text from the note and paste in the program.
> Save and activate the program.
> Execute the report for all clients in Update mode.
(Two check-boxes will appear: P_ALL_CL, P_UPDATE.
Please check both of them).
This report will delete all the references to infostructure S431. -
HOW TO CREATE PURCHASE ORDER USING BAPI
HI FRIENDS,
I HAVE URGENT REQUIREMNT ,TO CREATE PURCHASE ORDER USING BAPI.PLS HELP ON THIS.
UR'S
RAVIHi
See the sample code and do accordingly
REPORT zpo_bapi_purchord_tej.
DATA DECLARATIONS *
TYPE-POOLS slis.
TYPES: BEGIN OF ty_table,
v_legacy(8),
vendor TYPE bapimepoheader-vendor,
purch_org TYPE bapimepoheader-purch_org,
pur_group TYPE bapimepoheader-pur_group,
material TYPE bapimepoitem-material,
quantity(13),
delivery_date TYPE bapimeposchedule-delivery_date,
net_price(23),
plant TYPE bapimepoitem-plant,
END OF ty_table.
TYPES: BEGIN OF ty_alv,
v_legs(8),
success(10),
v_legf(8),
END OF ty_alv.
TYPES: BEGIN OF ty_alv1,
v_legf1(8),
v_msg(500),
END OF ty_alv1.
*-----Work area declarations.
DATA: x_table TYPE ty_table,
x_header TYPE bapimepoheader,
x_headerx TYPE bapimepoheaderx,
x_item TYPE bapimepoitem,
x_itemx TYPE bapimepoitemx,
x_sched TYPE bapimeposchedule,
x_schedx TYPE bapimeposchedulx,
x_commatable(255),
x_alv TYPE ty_alv,
x_alv1 TYPE ty_alv1,
x_alv2 TYPE ty_alv1.
*-----Internal table declarations.
DATA: it_table TYPE TABLE OF ty_table,
it_commatable LIKE TABLE OF x_commatable,
it_item TYPE TABLE OF bapimepoitem,
it_itemx TYPE TABLE OF bapimepoitemx,
it_sched TYPE TABLE OF bapimeposchedule,
it_schedx TYPE TABLE OF bapimeposchedulx,
it_alv TYPE TABLE OF ty_alv,
it_alv1 TYPE TABLE OF ty_alv1,
it_alv2 TYPE TABLE OF ty_alv1.
DATA: po_number TYPE bapimepoheader-po_number,
x_return TYPE bapiret2,
it_return TYPE TABLE OF bapiret2,
v_file TYPE string,
v_temp(8),
v_succsount TYPE i VALUE 0,
v_failcount TYPE i VALUE 0,
v_total TYPE i.
DATA: v_temp1(5) TYPE n VALUE 0.
DATA: x_event TYPE slis_t_event,
x_fieldcat TYPE slis_t_fieldcat_alv,
x_list_header TYPE slis_t_listheader,
x_event1 LIKE LINE OF x_event,
x_layout1 TYPE slis_layout_alv,
x_variant1 TYPE disvariant,
x_repid2 LIKE sy-repid.
DATA : it_fieldcat TYPE TABLE OF slis_t_fieldcat_alv.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK v_b1 WITH FRAME.
*-----To fetch the flat file.
PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK v_b1.
AT SELECTION-SCREEN *
AT SELECTION-SCREEN.
IF p_file IS INITIAL.
MESSAGE text-001 TYPE 'E'.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
*-----To use F4 help to find file path.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
v_file = p_file.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM gui_upload.
LOOP AT it_table INTO x_table.
PERFORM header_details.
v_temp = x_table-v_legacy.
LOOP AT it_table INTO x_table WHERE v_legacy = v_temp.
PERFORM lineitem.
PERFORM schedule.
ENDLOOP.
DELETE it_table WHERE v_legacy = v_temp.
PERFORM bapicall.
MOVE po_number TO x_alv-success.
APPEND x_alv TO it_alv.
CLEAR x_alv.
*-----To clear the item details in internal table after the operation for a header.
REFRESH: it_item,
it_itemx,
it_sched,
it_schedx.
CLEAR: v_temp1.
ENDLOOP.
v_total = v_succsount + v_failcount.
PERFORM display_alv.
FORM GUI_UPLOAD *
FORM gui_upload .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
TABLES
data_tab = it_commatable
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc = 0.
*-----To fetch the comma seperated flat file into an internal table.
LOOP AT it_commatable INTO x_commatable.
IF x_commatable IS NOT INITIAL.
SPLIT x_commatable AT ',' INTO
x_table-v_legacy
x_table-vendor
x_table-purch_org
x_table-pur_group
x_table-material
x_table-quantity
x_table-delivery_date
x_table-net_price
x_table-plant.
APPEND x_table TO it_table.
ENDIF.
CLEAR x_table.
ENDLOOP.
ENDIF.
ENDFORM. " gui_upload
FORM HEADER_DETAILS *
FORM header_details .
MOVE 'NB' TO x_header-doc_type.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-vendor
IMPORTING
output = x_table-vendor
MOVE x_table-vendor TO x_header-vendor.
MOVE x_table-purch_org TO x_header-purch_org.
MOVE x_table-pur_group TO x_header-pur_group.
x_headerx-doc_type = 'X'.
x_headerx-vendor = 'X'.
x_headerx-purch_org = 'X'.
x_headerx-pur_group = 'X'.
ENDFORM. " header_details
FORM LINEITEM *
FORM lineitem .
v_temp1 = v_temp1 + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_temp1
IMPORTING
output = v_temp1.
MOVE v_temp1 TO x_item-po_item.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = x_table-material
IMPORTING
output = x_table-material.
MOVE x_table-material TO x_item-material.
MOVE x_table-quantity TO x_item-quantity.
MOVE x_table-net_price TO x_item-net_price.
MOVE x_table-plant TO x_item-plant.
x_itemx-po_item = v_temp1.
x_itemx-material = 'X'.
x_itemx-quantity = 'X'.
x_itemx-net_price = 'X'.
x_itemx-plant = 'X'.
APPEND x_item TO it_item.
APPEND x_itemx TO it_itemx.
CLEAR: x_item, x_itemx.
ENDFORM. " lineitem1
FORM SCHEDULE *
FORM schedule .
MOVE x_table-delivery_date TO x_sched-delivery_date.
MOVE v_temp1 TO x_sched-po_item.
x_schedx-delivery_date = 'X'.
x_schedx-po_item = v_temp1.
APPEND x_sched TO it_sched.
APPEND x_schedx TO it_schedx.
CLEAR: x_sched, x_schedx.
ENDFORM. " schedule
FORM BAPICALL *
FORM bapicall .
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = x_header
poheaderx = x_headerx
IMPORTING
exppurchaseorder = po_number
TABLES
return = it_return
poitem = it_item
poitemx = it_itemx
poschedule = it_sched
poschedulex = it_schedx.
IF po_number IS NOT INITIAL.
v_succsount = v_succsount + 1.
MOVE x_table-v_legacy TO x_alv-v_legs.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
ELSE.
v_failcount = v_failcount + 1.
MOVE x_table-v_legacy TO x_alv-v_legf.
MOVE x_table-v_legacy TO x_alv1-v_legf1.
LOOP AT it_return INTO x_return.
IF x_alv1-v_msg IS INITIAL.
MOVE x_return-message TO x_alv1-v_msg.
ELSE.
CONCATENATE x_alv1-v_msg x_return-message INTO x_alv1-v_msg SEPARATED BY space.
ENDIF.
ENDLOOP.
APPEND x_alv1 TO it_alv1.
CLEAR x_alv1.
ENDIF.
ENDFORM. " bapicall
FORM DISPLAY_ALV *
FORM display_alv .
PERFORM x_list_header.
PERFORM build_fieldcat CHANGING x_fieldcat.
x_repid2 = sy-repid.
x_event1-name = 'TOP_OF_PAGE'.
x_event1-form = 'TOP_OF_PAGE'.
APPEND x_event1 TO x_event.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = x_fieldcat
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_save = 'A'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " display_master_data
FORM USER_COMMAND *
FORM user_command USING ucomm LIKE sy-ucomm selfield
TYPE slis_selfield.
READ TABLE it_alv INTO x_alv INDEX selfield-tabindex.
CLEAR : x_alv2,it_alv2[].
LOOP AT it_alv1 INTO x_alv1 WHERE v_legf1 = x_alv-v_legf.
x_alv2 = x_alv1.
APPEND x_alv2 TO it_alv2 .
ENDLOOP.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv.
DATA : x3_fieldcat LIKE LINE OF it_fieldcat.
CLEAR : x3_fieldcat,it_fieldcat[].
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_LEGF1'.
x3_fieldcat-reptext_ddic = text-111.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
CLEAR x3_fieldcat.
x3_fieldcat-col_pos = '1'.
x3_fieldcat-fieldname = 'V_MSG'.
x3_fieldcat-reptext_ddic = text-112.
x3_fieldcat-ref_tabname = 'IT_ALV2'.
APPEND x3_fieldcat TO it_fieldcat.
CLEAR x3_fieldcat.
x_layout1-colwidth_optimize = 'X'.
x_layout1-zebra = 'X'.
IF it_alv2[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = x_repid2
is_layout = x_layout1
it_fieldcat = it_fieldcat
i_save = 'A'
i_callback_top_of_page = 'TOP'
is_variant = x_variant1
it_events = x_event
TABLES
t_outtab = it_alv2
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDIF.
ENDFORM.
FORM USER_COMMAND *
FORM top.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = 'Commentry'.
ENDFORM.
FORM BUILD_FIELDCAT *
FORM build_fieldcat CHANGING et_fieldcat TYPE slis_t_fieldcat_alv.
DATA: x1_fieldcat TYPE slis_fieldcat_alv.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '1'.
x1_fieldcat-fieldname = 'V_LEGS'.
x1_fieldcat-reptext_ddic = text-108.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '2'.
x1_fieldcat-fieldname = 'SUCCESS'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-109.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
x1_fieldcat-col_pos = '3'.
x1_fieldcat-fieldname = 'V_LEGF'.
x1_fieldcat-key = 'X'.
x1_fieldcat-reptext_ddic = text-110.
x1_fieldcat-ref_tabname = 'IT_ALV'.
APPEND x1_fieldcat TO et_fieldcat.
CLEAR x1_fieldcat.
ENDFORM. " build_fieldcat
FORM BUILD_LIST_HEADER *
FORM x_list_header.
DATA: x_list_header1 TYPE slis_listheader.
*-----List Header: type H
CLEAR x_list_header1 .
x_list_header1-typ = 'H'.
x_list_header1-info = text-105.
APPEND x_list_header1 TO x_list_header.
*-----List Key: type S
x_list_header1-typ = 'S'.
x_list_header1-key = text-106.
x_list_header1-info = v_total.
APPEND x_list_header1 TO x_list_header.
*-----List Key: Type S
CLEAR x_list_header1 .
x_list_header1-typ = 'S'.
x_list_header1-key = text-107.
x_list_header1-info = v_succsount.
APPEND x_list_header1 TO x_list_header.
ENDFORM. " build_list_header
FORM TOP_OF_PAGE *
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = x_list_header.
ENDFORM. " TOP_OF_PAGE
Reward points if useful
Anji -
Create purchase order from shipment cost document
Hi Experts,
I would like to know how a purchase order type is linked to a shipment cost document so as to create purchase orders automatically when I do transfer posting to the vendor from the shipment cost document. How system automatically finds out the PO type and creates purchase order.
Thanks,
EmayaHi,
Thanks. I have made all those mentioned changes already, and infact I am able to create purchase orders(PO Type NB) automatically when I do transfer posting, but I would like to know, why NB type only? why not some other purchase order types? Suppose if I create a new PO type by copying NB with new number ranges, how to link it to my shipment cost document?
Please comment.
Regards,Emaya
Edited by: Emayavaramban S on Dec 11, 2008 3:06 PM
Edited by: Emayavaramban S on Dec 11, 2008 5:12 PM -
Change/Create purchase order with customer BSART via CIF
Hi,
we create Purchase Orders in SCM SNP. Those POs are passed via CIF to R/3, but the Purchase orders should be created with a customer BSART.
In SCM the POs currently use the standard ATPCategories. I found an exit in CIF_PO_INBOUND where you can change BSART, but at this point there is no access to the data from APO.
Has anybody already implemented such a scenario?Hi Michael,
I used CIF outbound user exit from APO , for filtering purchase requisions going to SAP R/3.
You are creating purchase oders in SCM APO and transferring the same to SAP R/3 / ECC through CIF.
We may have two options : Change the data before publishing to SAP R/3 from APO. This happens in APO , outbound .
Otherwise we can change the data in the PO before it is created in SAP R/3 , for this we use user exit inbound SAP R/3.
You have option of changing or enahancing purchase order data inbound in SAP R/3, before the PO is created in SAP R/3.
The enhancement is CIFPUR02.
With this enhancement, you can change purchase order data from your APO system before a purchase requisition or purchase order is created in the ERP system
The enhancement contains the following components:
EXIT_SAPLCPUR_001
You can use this enhancement to change purchasing data (purchase requisitions, purchase orders) in ERP inbound. To do this, you can change the existing transfer data or include additional customer-specific data in your own tables.
Other enhancements in the same
EXIT_SAPLMEPI_004
With this enhancement, you can change the header data of a purchase order before it is created in the ERP system.
The following data can be changed:
Document type (parameter CP_BSART)
EXIT_SAPLMEPI_007
You can use this enhancement to specify the document type of a purchase requisition or purchase order when they are created in the ERP system (parameter CP_BSART).
There are other ehancements which I have not listed.
I assume you can create an enhancemnet projects for incorporating the above enhancements in CMOD / SMOD transactions.
I hope this helps you.
Please confirm.
Regards
Datta -
How can i get different Condition Type for third-party Purchase Order?
Hi, experts,
for standard PO my Schema works well. now I want to get a different condition type for third-party purchase order. I try to extend field catalog (Pricing Purchasing). The Field PSTYP exists already. However, it is not provided in the field catalog.
How could i do?
Thanks
ReneHi Rene,
If you are seeing fields in the field catalog but are not seeing this field when creating the condition table then the field probably does not exist in the KOMG structure for allowed fields for condition structures. KOMG represents the total of KOMK and KOMP which are the pricing communication structures. If your field is not there then you need to append it to item data in INCLUDE KOMPAZ in KOMP since this is an item level field. If it were a header level field you would append it to include KOMKAZ in KOMK. The inclusion of new fields in KOMK or KOMP automatically means that they are also included in KOMG.
After doing this you will see the field when creating a table. There is further documentation on this process in the IMG under SPRO-> Materials Management-> Purchasing-> Conditions-> Define Price determination Process -> System Enhancements - View the documentation associated to this node in the IMG
Hope this helps,
Matt -
How to hide some buttons like CREATE PURCHASE ORDER, COPY, EDIT from POWL?
In SRM 7 ECS we need to hide some buttons like CREATE PURCHASE ORDER, COPY, EDIT from POWL"s. We can do some manipulation via security but we need to make a few buttons invisible without security. Appreciate any advice. Thanks.
Hi Ashwanin
To make read only
Below are the steps to Hide the buttons in POWL table
1. if you want to Gray out the Buttons
IMG > SRM SERVER> Cross Application Basic Settings --> Extensions and Field Control. There you will find a node to control Actions. based on the object type choose your option and make it as read only
To Make invisible
1.If you want to make invisible the button .
IMG > SRM SERVER> Cross Application Basic Settings --> Powl and Advance Search - > Adjust powl layout ,search criteria and push button (OR) t-code : /SAPSRM/POWL_CUST
2.choose the POWL type for the POWl table
3.click on Action node , you will find all the acction assigned for the POWL table ,delete the entry which you want to make invsible and save it
4 .Now run the report POWL_D01 and provide powl type in the selection criteria and deleate the catche quries
Regards
chinnaiya P
Edited by: chinnaiya pandiyan on Jun 27, 2011 3:12 PM -
Can we create purchase order through report programming?
hi experts.....
can we create purchase order through report programming?If yes plz give me the thread details?Hi,
Use this code in a program by using a BAPI function module
Anothe rway is using classical/ALV report using call transaction from a report for changing the PO
loop at i_header.
header-ref_1 = i_header-legacy.
headerx-ref_1 = c_x.
header-doc_type = i_header-bsart.
headerx-doc_type = c_x.
header-comp_code = i_header-bukrs.
headerx-comp_code = c_x.
header-purch_org = i_header-ekorg.
headerx-purch_org = c_x.
header-pur_group = i_header-ekgrp.
headerx-pur_group = c_x.
header-vendor = i_header-lifnr.
headerx-vendor = c_x.
concatenate i_header-bedat+4(4)
i_header-bedat+0(2)
i_header-bedat+2(2)
into header-doc_date.
headerx-doc_date = c_x.
header-created_by = i_header-ernam.
headerx-created_by = c_x.
header-currency = i_header-waers.
headerx-currency = c_x.
concatenate i_header-kdatb+4(4)
i_header-kdatb+0(2)
i_header-kdatb+2(2)
into header-vper_start.
headerx-vper_start = c_x.
loop at i_items where legacy = i_header-legacy.
item-po_item = i_items-ebelp.
itemx-po_item = i_items-ebelp.
itemx-po_itemx = c_x.
if i_header-bsart = 'NB'.
item-material = i_items-ematn.
itemx-material = c_x.
schedule-quantity = i_items-menge * 1000.
schedulex-quantity = c_x.
else.
item-short_text = i_items-ematn.
itemx-short_text = c_x.
item-matl_group = '1000'.
itemx-matl_group = c_x.
schedule-quantity = '1'.
schedulex-quantity = c_x.
endif.
item-plant = i_items-werks.
itemx-plant = c_x.
schedule-po_item = i_items-ebelp.
schedule-sched_line = '1'.
schedulex-po_item = i_items-ebelp.
schedulex-sched_line = '1'.
schedulex-po_itemx = c_x.
schedulex-sched_linex = c_x.
concatenate i_items-eildt+0(2)
i_items-eildt+2(2)
i_items-eildt+4(4)
into schedule-delivery_date.
schedulex-delivery_date = c_x.
item-price_unit = i_items-peinh * 100.
itemx-price_unit = c_x.
item-tax_code = i_items-mwskz.
itemx-tax_code = c_x.
item-shipping = i_items-evers.
itemx-shipping = c_x.
account-po_item = i_items-ebelp.
accountx-po_item = i_items-ebelp.
accountx-po_itemx = c_x.
if i_header-bsart = 'FO'.
item-pckg_no = sy-tabix.
itemx-pckg_no = 'X'.
limits-pckg_no = sy-tabix.
limits-limit = i_items-overalllimit.
limits-exp_value = i_items-expectedoverall.
posrvaccessvalues-pckg_no = sy-tabix.
posrvaccessvalues-line_no = '0'.
posrvaccessvalues-serno_line = '00'.
posrvaccessvalues-percentage = '100.0'.
posrvaccessvalues-serial_no = '01'.
account-serial_no = '1'.
accountx-serial_no = '1'.
accountx-serial_nox = c_x.
account-quantity = '1'.
accountx-quantity = c_x.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = i_items-kostl
importing
output = account-costcenter.
accountx-costcenter = c_x.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = i_items-sakto
importing
output = account-gl_account.
accountx-gl_account = c_x.
item-acctasscat = i_items-knttp.
itemx-acctasscat = c_x.
item-item_cat = i_items-epstp.
itemx-item_cat = c_x.
endif.
append:item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
clear :item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
endloop.
call function 'BAPI_PO_CREATE1'
exporting
poheader = header
poheaderx = headerx
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
importing
exppurchaseorder = ponumber
* EXPHEADER =
* EXPPOEXPIMPHEADER =
tables
return = return
poitem = item
poitemx = itemx
* POADDRDELIVERY =
poschedule = schedule
poschedulex = schedulex
poaccount = account
* POACCOUNTPROFITSEGMENT =
poaccountx = accountx
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
polimits = limits
* POCONTRACTLIMITS =
* POSERVICES =
posrvaccessvalues = posrvaccessvalues.
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
if ponumber eq space.
loop at return where type = 'E'.
clear buffer.
move-corresponding return to e_return.
concatenate i_header-legacy e_return into buffer.
transfer buffer to p2_file.
endloop.
move-corresponding i_header to i_eheader.
transfer i_eheader to p3_file.
loop at i_items where legacy = i_header-legacy.
move-corresponding i_items to i_eitems.
transfer i_eitems to p4_file.
endloop.
else.
commit work and wait.
endif.
clear:ponumber,header,headerx,item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
refresh:item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
endloop.
close dataset p2_file.
close dataset p3_file.
close dataset p4_file.
Regards
Krishna
Maybe you are looking for
-
Time setting in pdf file presentation
Can I set different times for different pages of my pdf file when using the whole screen presentation in Adobe Reader? Thanks a lot!
-
Why can't I make a call to a macbook pro
I try calling my daughter's macbook pro, using her email address....it says connecting, but never connects....she says it freezes on her end. She is able to facetime with other macs okay.
-
Lost some Audio on the multitrack of Adobe Audition 3
I know that this discussion pertains to the Audition problems past CS5.5, but I need major help with something that happened in Adobe Audition 3. I have a file that I may of resaved a file or something and then it started showing up almost as missin
-
scenario: PI 7.0 Idoc-> PI > Soap i want to enable message level sec....i choose WSS, what are the set of steps i need to get done? Any inputs wud b greatly appreciated! Hank
-
My old laptop, which had Adobe Acrobat Pro 9 installed, had a hard disk hard failure. I am trying to install from the original CD onto a new computer and the install has told me that I must deactivate on my old computer (which I cannot do because it