Outline order - Using aliases to assign order
Is it possible to sort the members in an outline on the aliases?For example:ID- E-12345Alias - Smith,Bob_12345I'd like to sort the members of this dimension alphabetically on the aliases.There doesn't seem to be a way to do this in the outline...The sort children ascending or descending only appears to work off of the ID...Any suggestions would be appreciated!Thanks,Lisa
There are a number of ways to accomplish this, none of them extremely simple. 1. You can use the Essbase API and write a program that reads the outline and your input file and have it determine where to put in new members or 2.Have your source system sort the dimension build file in the order you want. Then create two dimension build rules both which have remove unspecified members checked. Create a second load file that has an odd member like zzzzz. Using incremental build methods in Esscmd, load your one member name file, it will remove all of the other members, then load your normal file (make sure you do not tell it to sort), then do the endincrestructer.Glenn S. Narratus Solutions
Similar Messages
-
Internal orders used in account assignment
Hi,
Pl let me know about internal orders used in account assignment. How it works?
Tx
UtsHi,
Posting to Cost Center and Internal Order
If you have added the field Internal order in the Asset Master as a statistical order and you want your depreciation
posted not only to the cost center but also to this order.
In transaction OAYR in the IMG you define how depreciation posts to the depreciation posting rules - there is a CO assignment box where you have to tick both cost centers and internal orders.
What is internal order? Explain with example and how it is related to cost center.
An internal order is used to accumulate cost for a specific project or task for a specific time period. An internal order is therefore used for a short period with a specific deadline.
Your internal order will usually settle to cost centers (and not visa versa) according to the settlement rule in the order setup.
An internal order can therefore be used to group all the expenses incurred to plan and hold a conference over a 3 month period. The order can be settled on a monthly basis to cost centers. When the conference is finished the order can be settled finally. The cost of the conference will then be spread over 2 or more cost centers, but can be viewed in total on the internal order when needed.
Internal Orders - It is an instrument used to monitor costs and, in some instances, the revenues of an organization.
Uses of Internal orders
Monitoring the costs of short-term jobs
Monitoring the costs and revenues of a specific service
On going cost control
Internal order categories
Overhead Orders
Investment Orders
Accrual Orders
Orders with revenue
Cost centers are not for specific job. e.g If you have open Trade-fair / exhibition (1 month period), then to allocate cost, you can use Internal Orders (Say IO) you can post to IO, and from their to various cost centers. If management were to ask you the cost of that exhibition, Internal Order will help you
Cost center is a responsible center in SAP. It cannot be defined as statistical but in transactions it may become as per other co objects.You will be able to find out the performance of the cost center using activities and plan values with actual value. This is lowest cost object in SAP. This will become a statistical object when you allocate the cost to other higher objects. Cost can be allocated to other cost centers or co objects but not fi objects like GL,assets, inventory etc. can be defaulted in transactions through cost element. It cannot be a cost object for a revenue element, revenues are always taken for other higher CO objects. No budget functionality is available but planning functionality is available and is always measured for a year in business.
Internal order is the second CO object - which can be defined as statistical or real. You will be able to define Budget and planning figures - more than one year also. Can control the postings of FI through budget controls. You can have the report of Plan vs actual including commitment. Cost cannot be allocated but settled through settlement rules and profiles. The receiver of the values can be any object not like Cost center - can be CO objects and FI objects. Ideal for R&D expenses capitalizations, etc. Status profile is linked to this which controls many individual transactions in each status which is a part of this Internal order. It can also receive postings of activities from Cost center. Settlement profile is an wonderful tool for variety of settlement - needed for FI and CO - legal requirements also and Revenue requirements also for any country.
All SAP CO orders like Production order, Plant maintenance order, etc will behave like Internal order with more functionalities.
Internal Order (Definition as per CO): -
An instrument used to monitor costs and, in some instances, the revenues of an organization.
Internal orders can be used for the following purposes:
Monitoring the costs of short-term jobs
Monitoring the costs and revenues of a specific service
Ongoing cost control
Internal orders are divided into the following categories:
Overhead orders - For short-term monitoring of the indirect costs arising from jobs. They can also be used for continuous monitoring of subareas of indirect costs. Overhead orders can collect plan and actual costs independently of organizational cost center structures and business processes, enabling continuous cost control in the enterprise.
Investment orders - Monitor investment costs that can be capitalized and settled to fixed assets.
Accrual orders - Monitor period-based accrual between expenses posted in Financial Accounting and accrual costs in Controlling.
Orders with revenues - Monitor the costs and revenues arising from activities for partners outside the organization, or from activities not belonging to the core business of the organization.
Thanks & regards,
Kiran -
How to create Purchase Order using sub-ordinate Purchase order number?
Hi,
I m in ETL product have to extract SAP datas into Access.
I noticed that in the Demo DataBase of OEC Computers,the Purchase Order is created with sub-ordinate purchase order number.But i am trying to create the same in SAP B1 manually,but i can't create child Purchase Order .
<b>How to create child Purchase Order?</b>
Please help me to create the same
regards
Sooriyakala.PHi,
I m in ETL product have to extract SAP datas into Access.
I noticed that in the Demo DataBase of OEC Computers,the Purchase Order is created with sub-ordinate purchase order number.But i am trying to create the same in SAP B1 manually,but i can't create child Purchase Order .
<b>How to create child Purchase Order?</b>
Please help me to create the same
regards
Sooriyakala.P -
How do i move objects in an assigned order?
I need help urgently!
I have 14 bricks, and want each one to fall down the screen
in a particular order.
I'm guessing I'll need to use an array, but I am really new
to actionscript and need basic instructions on what to do...
thanks
(this is my fla so far, the user has to match the puzzle on
the right as the bricks fall in an assigned order)
Using Flash MX(in order as in.. right after the other or right after they
land...)
this is right after the other (with a given time to drop the
next)
if they are all seperate boxes, do something like this:
on the onClipEvent(load), put an order, like drop=1,
drop=2,drop=3
onClipEvent(load)
drop=2
time=0
onClipEvent(enterFrame)
time++
if(time>drop*12) //12 frames before dropping the second
one
**your drop code
if you want them as duplicated, do this:
duplicatedmovie=[the duplicate movieclip code]
duplicatedmovie.drop=1
and in the movieclip that you are duplicating, add this:
onClipEvent(load)
time=0
onClipEvent(enterFrame)
time++
if(time>drop*12) //12 frames before dropping the second
one
**your drop code
basically the same code except that the drop was set in
different areas.
I hope it helps, but I'm not sure if it was what you were
looking for. -
HI,
I need to create sales orders using BAPI.
these sales orders are different sales order type and it need to upload from excel file. anyone send me some sample programs for this one.
kathir.use this code to create salesorder using bapi.
REPORT z_bapi_salesorder_create.
Parameters
Sales document type
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Sales organization
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Distribution channel
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Division.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Sold-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Ship-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Material
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Quantity.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Plant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Data declarations.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
Initialization.
INITIALIZATION.
v_text = 'Order type'.
v_text1 = 'Sales Org'.
v_text2 = 'Distribution channel'.
v_text3 = 'Division'.
v_text4 = 'Sold-to'.
v_text5 = 'Ship-to'.
v_text6 = 'Material'.
v_text7 = 'Quantity'.
v_text9 = 'Plant'.
Start-of-selection.
START-OF-SELECTION.
Header data
Sales document type
header-doc_type = p_auart.
headerx-doc_type = 'X'.
Sales organization
header-sales_org = p_vkorg.
headerx-sales_org = 'X'.
Distribution channel
header-distr_chan = p_vtweg.
headerx-distr_chan = 'X'.
Division
header-division = p_spart.
headerx-division = 'X'.
headerx-updateflag = 'I'.
Partner data
Sold to
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.
Ship to
partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.
ITEM DATA
itemx-updateflag = 'I'.
Line item number.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
Material
item-material = p_matnr.
itemx-material = 'X'.
Plant
item-plant = p_plant.
itemx-plant = 'X'.
Quantity
item-target_qty = p_menge.
itemx-target_qty = 'X'.
APPEND item.
APPEND itemx.
Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty = p_menge.
APPEND lt_schedules_in.
Fill schedule line flags
lt_schedules_inx-itm_number = '000010'.
lt_schedules_inx-sched_line = '0001'.
lt_schedules_inx-updateflag = 'X'.
lt_schedules_inx-req_qty = 'X'.
APPEND lt_schedules_inx.
Call the BAPI to create the sales order.
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = header
sales_header_inx = headerx
IMPORTING
salesdocument_ex = v_vbeln
TABLES
return = return
sales_items_in = item
sales_items_inx = itemx
sales_schedules_in = lt_schedules_in
sales_schedules_inx = lt_schedules_inx
sales_partners = partner.
Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error in creating document'.
ELSE.
Commit the work.
COMMIT WORK AND WAIT.
WRITE: / 'Document ', v_vbeln, ' created'.
bye -
How to Assigning the number ranges for Purchase Order using EXIT_SAPMM06E_0
How to Assigning the number ranges for Purchase Order using EXIT_SAPMM06E_001 using Functional Module NUMBER_GET_NEXT explain me ?
Hi,
First go thourh the FM import export parameters list.
Try to create an internal table of type INRI-NRRANGENR for number ranges.
We can provide the lower and higher values for this table so that what ever PO is created will be with that range.
Try to create the ncessary ones using this FM.
In the Exit, EXIT_SAPMM06E_001,
the Export parameters are-
EKKO-EBELN- the PO ios created with in that specified range
Range as INRI-NRRANGENR - Here try to assign the Internal table that was populated in the FM.
Try to code this in the Include provded and keep Breakpint and check the PO number generated.
Reply if u need more help on this.
Reward if helpful.
Best Wishes,
Chandralekha -
How to link Purchase Order using account assignment category "F"* to asset
Hello,
I'd like to know how to link Purchase Order, using account assignment category "F" to asset .
When I enter asset no. in my ANEK table, po no(ebeln) and po item(ebelp) field is blank.
whether every line item in a Purchase order have differrent asset.
can anybody give me the link between asset and materal no?
Regards,
RachelHi Rachel,
Your message is a little bit confusing. There is no link between the asset and material number. If you want to post your purchase order, using account assignment F - that is internal order - you may do it. Futher, you can settle the postings from this order to asset.
You can read more here:
http://help.sap.com/saphelp_erp60_sp/helpdata/en/4f/71e7cd448011d189f00000e81ddfac/frameset.htm
Regards,
Eli -
Assigning a Sales Order Number to a Purchase Order
My company has a requirement that for every purchase order we need to identify what sales order was created to generate the PR.
I have found that by using the Account Assignment C - Sales Order, this opens the "Account Assignment" Tab and the fields for Sales order, item, and schedule Line.
I have saved the PO and now am trying to receive the parts into inventory. When doing so, the inventory needs to post to our inventory GL account, in our case is 135075. By NOT assigning the GL with the sales order in the PO it doesn't post to this account it posts to a different GL account.
How do I go about using the "Sales Order" field in the purchase order so I can record which sales order the line item of the PO corresponds to, and when receiving the inventory into stock have it post to the correct GL account?
Thanks,
KarenThe company I work for is a distributor, and doing a Make to Order order type would not be in the best business practice for our company. We tend to purchase stock for multiple orders and put them in inventory to be sold. We are looking for a way to "document" what sales order the purchase order line item is being bought for, and sometimes their our multiple lines.
I understand what you are saying regarding posting to an stock GL vs a consumption GL.
I am going to research further and see how we can post to a consumption GL and then move the remaining stock over to a stock GL account after we have sold what we have purchased and received.
I was able to get the receipt posted to the GL 135075 by taking off the "post automatically" indicator in the configuration of the GL account, but this then posed problems when doing other inventory postings such as cycle counting or moving inventory.
Thank you,
Karen -
Problem regarding the creation of sales order using bapi.
Hai all,
I am creating sales order using bapi but i am, get following error messages :
TYPE ID NUMBER MESSAGE
E VP 112 Please enter sold-to party or ship-to party
E V4 219 Sales document was not changed
I have entered all the parameters.
my program is as follows :
*& Report ZSD_SALES_ORDER
REPORT ZSD_SALES_ORDER.
Tables
*table definitions
TABLES:vbak, "Sales Document: Header Data
knvv, "Customer Master Sales Data
mara, "General Material Data
t001l, "Plants/Branches
mvke, "Sales Data for Material
vbap, "Sales Document: Item Data
konv. "Conditions (Transaction Data)
Types
*type for upload data
TYPES :BEGIN OF ty_upload,
matnr(20) TYPE c, " Old material number
quantity(20) TYPE c, " Cumulative order quantity in sales units
VALUE TYPE BAPIKWERT1,
value(20) TYPE c, " Condition value
value TYPE konv-kwert, " Condition value
END OF ty_upload.
*type for final output table
TYPES :BEGIN OF ty_main,
bismt TYPE mara-bismt, "Old material number
matnr TYPE vbap-matnr, "Material Number
kunnr TYPE vbak-kunnr, "customer number
auart TYPE vbak-auart, "Sales Document Type
vkorg TYPE vbak-vkorg, "Sales Organization
vtweg TYPE vbak-vtweg, "Distribution Channel
spart TYPE vbak-spart, "Division
vbeln TYPE vbak-vbeln, "Sales document
werks TYPE marc-werks, " Plant
lgort TYPE mard-lgort, "Storage Location
posnr TYPE vbap-posnr, "Sales Document Item
parvw TYPE vbpa-parvw, "Partner function
kwmeng TYPE vbap-kwmeng, "Cumulative order quantity in sales units
kschl TYPE konv-kschl, "Condition type
kwert TYPE konv-kwert, "Condition value
KWERT TYPE BAPIKWERT1,
kwert(20) TYPE c, "Condition value
waers TYPE konv-waers, "Currency
END OF ty_main.
*type for old material number
TYPES: BEGIN OF ty_matnr,
matnr TYPE mara-matnr,
bismt TYPE mara-bismt,
END OF ty_matnr.
*type for order number
TYPES :BEGIN OF ty_output,
vbeln TYPE vbak-vbeln, "Sales Document
END OF ty_output.
Constants Begin with C_ *
CONSTANTS:
c_zpmu(4) TYPE c VALUE 'ZPMU',
c_zpmm(4) TYPE c VALUE 'ZPMM'.
DATA: c_ch(1) TYPE c VALUE 'X'.
Data Begin with W_ *
*global data for validations
DATA: w_count TYPE i,
w_vkorg TYPE vbak-vkorg,
w_vtweg TYPE vbak-vtweg,
w_spart TYPE vbak-spart,
w_werks TYPE t001l-werks,
w_check TYPE c,
w_itemno TYPE posnr_va,
W_COND TYPE C.
w_cond(3) TYPE c.
Internal tables Begin with IT_ *
*internal table definitions
DATA : it_upload TYPE STANDARD TABLE OF ty_upload ,
wa_upload TYPE ty_upload.
DATA : it_main TYPE STANDARD TABLE OF ty_main,
wa_main TYPE ty_main.
DATA: it_matnr TYPE STANDARD TABLE OF ty_matnr,
wa_matnr TYPE ty_matnr.
DATA : it_output TYPE STANDARD TABLE OF ty_output.
Internal table for BAPI.
DATA: it_bapisdhd1 TYPE STANDARD TABLE OF bapisdhd1, "Sales and Distribution Document Header
wa_bapisdhd1 TYPE bapisdhd1.
DATA: it_bapisditm TYPE STANDARD TABLE OF bapisditm , "Sales and Distribution Document Item
wa_bapisditm TYPE bapisditm.
DATA: it_bapiparnr TYPE STANDARD TABLE OF bapiparnr, "SD Document Partner: WWW
wa_bapiparnr TYPE bapiparnr.
DATA: it_bapischdl TYPE STANDARD TABLE OF bapischdl, "Schedule Lines
wa_bapischdl TYPE bapischdl.
DATA: it_bapicond TYPE STANDARD TABLE OF bapicond, "Communication Fields for Maintaining Conditions in the Order
wa_bapicond TYPE bapicond.
DATA: it_bapiret2 TYPE STANDARD TABLE OF bapiret2, "Return Parameter
wa_bapiret2 TYPE bapiret2.
Parameters Begin with PR_ *
*selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME .
PARAMETERS: pr_vkorg TYPE vbak-vkorg OBLIGATORY,
pr_vtweg TYPE vbak-vtweg OBLIGATORY,
pr_spart TYPE vbak-spart OBLIGATORY,
pr_kunnr TYPE kna1-kunnr OBLIGATORY,
pr_werks TYPE marc-werks OBLIGATORY,
pr_lgort TYPE mard-lgort OBLIGATORY.
PARAMETERS: pr_auart TYPE vbak-auart OBLIGATORY,
PR_AUGRU TYPE VBAK-AUGRU OBLIGATORY.
pr_augru TYPE vbak-augru.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME.
PARAMETERS : pr_file TYPE ibipparms-path OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk2.
At selection-screen *
AT SELECTION-SCREEN.
PERFORM f006_validate_vkorg.
PERFORM f007_validate_vtweg.
PERFORM f008_validate_spart.
PERFORM f009_validate_kunnr.
PERFORM f010_validate_werks.
PERFORM f011_validate_lgort.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pr_file.
*for f4 help----
PERFORM f003_f4_help.
S T A R T O F S E L E C T I O N *
START-OF-SELECTION.
*for material ,quantity and value upload
PERFORM f001_upload_file.
*get data
PERFORM f003_get_data.
*for check the data
PERFORM f002_check_data .
PERFORM f004_process.
*for posting
PERFORM f005_posting.
END-OF-SELECTION.
E N D O F S E L E C T I O N *
*& Form f001_upload_file
upload file
FORM f001_upload_file .
DATA : lw_fname TYPE string.
CLEAR lw_fname.
lw_fname = pr_file.
REFRESH it_upload.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lw_fname
filetype = 'ASC'
has_field_separator = c_ch
TABLES
data_tab = it_upload
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.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_upload INTO wa_upload.
wa_upload-value = ( wa_upload-value ) / 10.
MODIFY it_upload FROM wa_upload.
ENDLOOP.
ENDFORM. "F001_UPLOAD_FILE
*& Form f003_f4_help
f4 help
FORM f003_f4_help .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = ' '
IMPORTING
file_name = pr_file.
ENDFORM. " f003_f4_help
*& Form check_data
text
FORM f002_check_data .
DATA: lw_lines TYPE i.
DESCRIBE TABLE it_main LINES lw_lines.
IF lw_lines LE 0.
RETURN.
ENDIF.
SELECT a~matnr
a~bismt FROM mara AS a INNER JOIN mvke AS b
ON amatnr = bmatnr
INTO CORRESPONDING FIELDS OF TABLE it_matnr
FOR ALL ENTRIES IN it_main
WHERE a~bismt = it_main-bismt.
IF sy-subrc = 0.
LOOP AT it_main INTO wa_main.
CLEAR : wa_matnr.
READ TABLE it_matnr INTO wa_matnr WITH KEY bismt = wa_main-bismt.
IF sy-subrc = 0.
MOVE: wa_matnr-matnr TO wa_main-matnr.
ENDIF.
MODIFY it_main FROM wa_main TRANSPORTING matnr WHERE bismt = wa_main-bismt.
ENDLOOP.
ELSE.
MESSAGE e000(zmsd) WITH text-001.
ENDIF.
ENDFORM. "CHECK_DATA
*& Form F009_validate_vkorg
text
FORM f006_validate_vkorg .
CLEAR w_vkorg.
SELECT SINGLE vkorg
INTO w_vkorg FROM tvko
WHERE vkorg EQ pr_vkorg.
IF sy-subrc <> 0.
MESSAGE e000(zmsd) WITH text-012 pr_vkorg.
ENDIF.
ENDFORM. " F009_validate_vkorg
*& Form f007_validate_vtweg
text
FORM f007_validate_vtweg .
CLEAR:w_vtweg.
SELECT SINGLE vtweg
INTO w_vtweg FROM tvtw
WHERE vtweg EQ pr_vtweg.
IF sy-subrc <> 0.
MESSAGE e089(zmsd).
ENDIF.
ENDFORM. " f007_validate_vtweg
*& Form f008_validate_spart
text
FORM f008_validate_spart .
CLEAR:w_spart.
SELECT SINGLE spart
INTO w_spart FROM tspa
WHERE spart EQ pr_spart.
IF sy-subrc <> 0.
MESSAGE e087(zmsd).
ENDIF.
ENDFORM. " f008_validate_spart
*& Form F010_validate_kunnr
text
FORM f009_validate_kunnr .
DATA: l_kunnr TYPE kunnr.
CLEAR: w_vkorg, w_vtweg,w_spart.
SELECT SINGLE kunnr FROM knvv
INTO l_kunnr
WHERE kunnr = pr_kunnr
AND vkorg = pr_vkorg
AND vtweg = pr_vtweg
AND spart = pr_spart.
IF sy-subrc <> 0.
MESSAGE e000(zmsd) WITH text-010 pr_kunnr text-011 pr_vkorg .
ENDIF.
ENDFORM. " F010_validate_kunnr
*& Form f010_validate_werks
text
FORM f010_validate_werks .
CLEAR:w_werks.
SELECT SINGLE werks
INTO w_werks FROM t001w
WHERE werks EQ pr_werks.
IF sy-subrc <> 0.
MESSAGE e088(zmsd).
ENDIF.
ENDFORM. " f010_validate_werks
*& Form F011_validate_lgort
text
FORM f011_validate_lgort .
CLEAR:w_werks .
SELECT SINGLE werks FROM t001l
INTO w_werks
WHERE werks = pr_werks
AND lgort = pr_lgort.
IF sy-subrc <> 0.
MESSAGE e000(zmsd) WITH text-007 pr_lgort text-008 pr_werks .
ENDIF.
ENDFORM. " F011_validate_lgort
*& Form f003_get_data
text
FORM f003_get_data .
CLEAR wa_main.
REFRESH it_main.
LOOP AT it_upload INTO wa_upload.
CLEAR : wa_main.
MOVE: wa_upload-matnr TO wa_main-bismt,
wa_upload-quantity TO wa_main-kwmeng,
wa_upload-value TO wa_main-kwert,
pr_vkorg TO wa_main-vkorg,
pr_vtweg TO wa_main-vtweg,
pr_spart TO wa_main-spart,
pr_kunnr TO wa_main-kunnr,
pr_werks TO wa_main-werks,
pr_lgort TO wa_main-lgort.
APPEND wa_main TO it_main.
ENDLOOP.
ENDFORM. " f003_get_data
*& Form f004_process
text
FORM f004_process .
CLEAR w_check.
LOOP AT it_main INTO wa_main.
IF wa_main-matnr = ''.
WRITE:/ text-006,
wa_main-bismt.
w_check = 1.
ENDIF.
IF wa_main-kwmeng = 0.
WRITE:/ text-005,
wa_main-bismt.
w_check = 1.
ENDIF.
IF pr_auart <> 'ZM01'.
IF wa_main-kwert IS INITIAL.
WRITE:/ text-004,
wa_main-bismt.
w_check = 1.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " f004_process
*& Form f005_posting
text
FORM f005_posting .
CLEAR: w_itemno,
w_cond.
w_itemno = 10.
w_cond = 1.
IF w_check = '' OR w_check = 1.
wa_bapisdhd1-doc_type = pr_auart.
wa_bapisdhd1-ord_reason = pr_augru.
LOOP AT it_main INTO wa_main.
IF w_cond = 1.
CLEAR: it_bapiret2,
it_bapisditm,
it_bapiparnr,
it_bapischdl,
it_bapicond.
REFRESH:it_bapiret2,
it_bapisditm,
it_bapiparnr,
it_bapischdl,
it_bapicond.
MOVE: wa_main-vkorg TO wa_bapisdhd1-sales_org,
wa_main-vtweg TO wa_bapisdhd1-distr_chan,
wa_main-spart TO wa_bapisdhd1-division.
wa_bapisdhd1-wbs_eleM = 'Y561.1'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = pr_kunnr
IMPORTING
OUTPUT = pr_kunnr.
wa_bapisdhd1-PURCH_NO_S = pr_kunnr.
wa_bapisdhd1-PURCH_NO_C = pr_kunnr.
ENDIF.
MOVE: w_itemno TO wa_bapisditm-itm_number,
wa_main-matnr TO wa_bapisditm-material,
wa_main-BISMT TO wa_bapisditm-material,
wa_main-werks TO wa_bapisditm-plant,
wa_main-lgort TO wa_bapisditm-store_loc.
wa_bapisditm-target_qty = '10'.
wa_bapisditm-PURCH_NO_S = pr_kunnr.
wa_bapisditm-PURCH_NO_C = pr_kunnr.
APPEND wa_bapisditm TO it_bapisditm.
IF w_cond = 1.
wa_bapiparnr-partn_numb = pr_kunnr.
wa_bapiparnr-itm_number = 10.
wa_bapiparnr-partn_role = 'SP'.
APPEND wa_bapiparnr TO it_bapiparnr.
wa_bapiparnr-partn_role = 'AG'.
APPEND wa_bapiparnr TO it_bapiparnr.
CLEAR wa_bapiparnr-partn_role.
wa_bapiparnr-partn_numb = pr_kunnr.
wa_bapiparnr-partn_role = 'RE'.
APPEND wa_bapiparnr TO it_bapiparnr.
CLEAR wa_bapiparnr-partn_role.
wa_bapiparnr-partn_numb = pr_kunnr.
wa_bapiparnr-partn_role = 'RG'.
APPEND wa_bapiparnr TO it_bapiparnr.
CLEAR wa_bapiparnr-partn_role.
wa_bapiparnr-partn_numb = pr_kunnr.
wa_bapiparnr-partn_role = 'WE'.
APPEND wa_bapiparnr TO it_bapiparnr.
ENDIF.
wa_bapischdl-itm_number = w_itemno.
wa_bapischdl-req_qty = wa_main-kwmeng.
wa_bapischdl-PURCH_NO_S = pr_kunnr.
APPEND wa_bapischdl TO it_bapischdl.
wa_bapicond-itm_number = w_itemno.
wa_bapicond-cond_type = 'ZECL'.
IF ( wa_bapisdhd1-doc_type = 'ZPMU' ) OR ( wa_bapisdhd1-doc_type = 'ZPMM' ).
wa_bapicond-cond_type = 'ZVAL'.
ELSE.
wa_bapicond-cond_type = 'ZMRP'. "+PK12122006
ENDIF.
wa_bapicond-cond_value = wa_main-kwert.
APPEND wa_bapicond TO it_bapicond.
w_itemno = w_itemno + 10.
w_cond = w_cond + 1.
ENDLOOP.
data : SALESDOCUMENTIN like BAPIVBELN-VBELN.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = wa_bapisdhd1
IMPORTING
salesdocument = SALESDOCUMENTIN
TABLES
return = it_bapiret2
order_items_in = it_bapisditm
order_partners = it_bapiparnr
order_schedules_in = it_bapischdl
order_conditions_in = it_bapicond.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_ch.
ENDIF.
LOOP AT it_bapiret2 INTO wa_bapiret2.
DATA : w_err(100) TYPE c,
w_matnr TYPE matnr.
IF wa_bapiret2-type = 'E' AND wa_bapiret2-id = 'V1' AND wa_bapiret2-number = 392.
UNPACK wa_bapiret2-message_v1 TO w_matnr.
READ TABLE it_matnr INTO wa_matnr WITH KEY matnr = w_matnr.
IF sy-subrc EQ 0.
CONCATENATE text-013 wa_matnr-bismt INTO w_err SEPARATED BY space.
MESSAGE w_err TYPE 'S'.
ENDIF.
ENDIF.
IF WA_BAPIRET2-TYPE = 'S'. " Comment
WRITE: 40 TEXT-009, WA_BAPIRET2-MESSAGE_V2+0(10).
ENDIF.
ENDLOOP.
ENDFORM. " f005_posting
I have given all the necessary parameters. it is telling that error is in parameter
sales_header_in.
I have checked it.
i have assigned purch_no_s and purch_no_c of the structure BAPISDHD1(ORDER_HEADER_IN)
in the bapi with customer number.
and also i have assigned the partnumber of the structure BAPIPARNR ORDER_PARTNERS
in the bapi with customer number.
but still , it is diplaying the error message, please enter the sold to or ship to party number.
how to resolve this error.
this is urgent requirement.
points will be awarded.
thanking u in advance,
a.srinivas.Hi,
Did u have a look at the standard programs which make use of BAPI_SALESORDER_CREATEFROMDAT1
Heres a list...
LWSSOU08
MV45WF0S
MWWMJF21_BAPI_SALESORDER_CREAT
RBUS2032
Regards,
Tanveer.
<b>Please mark helpful answers</b> -
Creating service order using BAPI_BUSPROCESSND_CREATEMULTI
Hi Experts,
I have a requirement to create a Service order using a BAPI.
I'm trying to use the BAPI BAPI_BUSPROCESSND_CREATEMULTI. I found some code related to this BAPI on this forum and and I've written my code based on that and while executing it i'm getting a short dump. Could anyone please help me figure out what the problem is.
My code is as follows:
data: lv_header_guid type guid_32.
data: begin of lit_header occurs 0,
include type BAPIBUS20001_HEADER_INS,
end of lit_header.
data: wa_header type BAPIBUS20001_HEADER_INS.
data: begin of lit_inputfields occurs 0,
include type BAPIBUS20001_INPUT_FIELDS,
end of lit_inputfields.
data: wa_inputfields type BAPIBUS20001_INPUT_FIELDS.
data: begin of lit_partner occurs 0,
include type BAPIBUS20001_PARTNER_INS,
end of lit_partner.
data: wa_partner type BAPIBUS20001_PARTNER_INS.
Create Contract header guid
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
Fill orderadm_h
wa_header-guid = lv_header_guid.
wa_header-process_type = 'YSC'.
APPEND wa_header TO lit_header.
Fill input fields
MOVE: lv_header_guid TO wa_inputfields-ref_guid,
'A' TO wa_inputfields-ref_kind,
'0001' TO wa_partner-ref_partner_handle,
'ORDERADM_H' TO wa_inputfields-objectname,
'PROCESS_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
CLEAR wa_inputfields.
Fill PARTNER DETAILS
Sold to Party
MOVE: lv_header_guid TO wa_partner-ref_guid,
'A' TO wa_partner-ref_kind,
'0001' TO wa_partner-ref_partner_handle,
'CRM000' TO wa_partner-partner_fct,
'5000000288' TO wa_partner-partner_no,
'BP' TO wa_partner-no_type,
'BP' TO wa_partner-display_type,
'X' TO wa_partner-mainpartner.
APPEND wa_partner TO lit_partner.
CLEAR wa_partner.
Fill input fields
MOVE: lv_header_guid TO wa_inputfields-ref_guid,
'A' TO wa_inputfields-ref_kind,
'0001' TO wa_inputfields-logical_key,
'PARTNER' TO wa_inputfields-objectname.
MOVE 'PARTNER_FCT' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'PARTNER_NO' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'NO_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
MOVE 'DISPLAY_TYPE' TO wa_inputfields-fieldname.
APPEND wa_inputfields TO lit_inputfields.
CLEAR wa_inputfields.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = lit_header
ITEM =
ACTIVITY =
SALES =
PARTNER = lit_partner
ORGANISATION =
SHIPPING =
APPOINTMENT =
TEXT =
SERVICE_OS =
STATUS =
INPUT_FIELDS = lit_inputfields
CREATED_PROCESS =
RETURN =
LEAD =
OPPORTUNITY =
PRODUCT =
SCHEDULELINE =
CUSTOMER_HEAD =
CUSTOMER_ITEM =
PRICING =
PRICING_ITEM =
CONDITION_CREATE =
BILLING =
CONFIG_CFG =
CONFIG_BLB =
CONFIG_INS =
CONFIG_PRT =
CONFIG_VAL =
CONFIG_VK =
CONFIG_REF =
ADDRESS =
BILLPLAN =
BILLPLAN_DATE =
EXTENSIONIN =
DOCUMENT_FLOW =
BATCH =
PRICING_AGR_CRM =
FINPROD_ITEM =
CANCEL =
CANCEL_IR =
PRODUCT_LIST =
PRODUCTS =
OBJECTS =
PAYPLAN =
PAYPLAN_DATE =
CONFIG_FILTER_CFG =
CONFIG_FILTER_INS =
CONFIG_FILTER_PRT =
CONFIG_FILTER_VAL =
ACTIVITY_I =
EXT_REF =
ENDFUNCTION.
I'm getting the following dump.
Runtime Errors ITAB_ILLEGAL_COMPONENT
Date and Time 07.09.2006 21:29:03
Short dump has not been completely stored (too big)
Short text
Invalid line component &V2 in "... KEY k1 = v1 ... kn = vn".
Error analysis
When the ABAP/4 program "SAPLCRM_BUSPROCESSND_BAPI" attempted to process the
internal table "HEADER[]"
with "... KEY k1 = v1 ... kn = vn", a component "HANDLE " was specified
dynamically as the contents
of the field "LV_STR_HANDLE". However, the line type "u" of the internal table
"HEADER[]"
contains no component "HANDLE ".
| -
Information on where terminated
Termination occurred in the ABAP program "SAPLCRM_BUSPROCESSND_BAPI" - in
"SET_RETURN_VALUES".
The main program was "RS_TESTFRAME_CALL ".
In the source code you have the termination point in line 36
of the (Include) program "LCRM_BUSPROCESSND_BAPIF80".
Source Code Extract
Line
SourceCde
6
7
text
8
9
-->P_LT_ORDERADM_H_COM text
10
-->P_LT_ORDERADM_I_COM text
11
<--P_HEADER text
12
<--P_ITEM text
13
14
form set_return_values tables header structure BAPIBUS20001_HEADER_INS
15
item structure BAPIBUS20001_item
16
using p_lt_orderadm_h_com type any table
17
p_lt_orderadm_i_com type any table
18
19
20
data: lv_str_handle type fieldname,
21
lv_str_headerhandle type fieldname,
22
lv_str_objectid type fieldname.
23
24
25
field-symbols: <ls_orderadm_h> type crmt_orderadm_h_com,
26
<ls_orderadm_i> type crmt_orderadm_i_com,
27
<ls_header> type BAPIBUS20001_HEADER_INS,
28
<ls_item> type BAPIBUS20001_item.
29
30
31
lv_str_handle = 'HANDLE'.
32
lv_str_headerhandle = 'HEADER_HANDLE'.
33
lv_str_objectid = 'OBJECT_ID'.
34
35
loop at p_lt_orderadm_h_com assigning <ls_orderadm_h>.
>>>>>
read table header with key (lv_str_handle) = <ls_orderadm_h>-handle
37
(lv_str_objectid) = <ls_orderadm_h>-object_id
38
assigning <ls_header>.
39
if sy-subrc = 0.
40
<ls_header>-guid = <ls_orderadm_h>-guid.
41
endif.
42
endloop.
| 43|
Could anyone please help me with this.
Thanks,
Preethi
Message was edited by: Preethi SoothFirst off. Debug.
Put a break point on the line that is generating the short dump and run your code. The ABAP debugger should display before the dump...now....
The error specifies that the line type of the table HEADER (which is the internal representation of your lit_header table and has line type BAPIBUS20001_HEADER_INS ) doesn't have a field called HANDLE.
Check if it does (it should have or something is very wrong, and you should report a bug to SAP).
Check all runtime variables for that command. See if the table has any values in it. Try using your lit_header table with header-line or not.
Your in a far better position to determine what the error is then me. Right now, I don't have access to a CRM server.
From my experience that BAPI is a piece of .... It is hard finding functions in CRM that actually do what you want...properly...Try using CRM_ORDER_CREATE (i think it's called like that). Much better, and if you need RFC capability just write a wrapper RFC.
Message was edited by: João Sousa -
Run time error while closing the CRM Order using BAPI
Hi Experts,
Need your invaluable suggestions here.Apologies for the lengthy mail, intention is to give clear idea of the issue.
I am facing an issue while closing the CRM orders. According to our business process, when an issue is solved we will keep the order in resolved status only. We will not directly close the order from the CRM tool, instead we have created a custom program for the same purpose.
For the custom program we will give input as the order number and execute it, this will close the order.
Here close the order means assigning it to Close status as well assign the reason code.
We have created some reason codes for closed status.
So when the program is run the Order moves from resolved status to closed status along with reason code.
But of late we are facing some problems with this program, it is giving run time error for some CRM orders.
Run time error message : The ABAP/4 Open SQL array insert results in duplicate database records.
The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught in procedure "CRM_SERVICE_OS_UPD_OST_DU" "(FUNCTION)", nor was it propagated by a RAISING clause.
Please find my code which have used in the custom program
Closing the resolved SOs in the system
CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN_OW'
EXPORTING
objnr = iv_guid
user_status = lc_status_closed
EXCEPTIONS
object_not_found = 1
status_inconsistent = 2
status_not_allowed = 3
OTHERS = 4.
IF sy-subrc <> 0.
WRITE : 'Error at maintaining status'.
ENDIF.
Set reason code
build lt_subject
ls_subject-ref_guid = iv_guid.
ls_subject-katalogart = 'A2'.
ls_subject-codegruppe = 'ZR000003'.
ls_subject-code = 'ZR33'. " Reason code
ls_subject-mode = 'A'.
APPEND ls_subject TO lt_subject.
build lt_ossset
ls_osset-ref_guid = iv_guid.
ls_osset-subject_profile = 'ZREASON03'.
ls_osset-profile_type = 'G'.
ls_osset-subject = lt_subject.
APPEND ls_osset TO lt_osset.
build lt_service_os
ls_service_os-ref_guid = iv_guid.
ls_service_os-ref_kind = 'A'.
ls_service_os-osset = lt_osset.
APPEND ls_service_os TO lt_service_os.
build lt_input_fields
REFRESH: lt_input_fields, lt_field_names.
CLEAR : ls_input_fields, ls_field_names.
ls_field_names-fieldname = 'CODE'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'CODEGRUPPE'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'KATALOGART'.
APPEND ls_field_names TO lt_field_names.
ls_field_names-fieldname = 'SERVICE_PROFILE'.
APPEND ls_field_names TO lt_field_names.
ls_input_fields-ref_guid = iv_guid.
ls_input_fields-ref_kind = 'A'.
ls_input_fields-objectname = 'SERVICE_OS'.
ls_input_fields-field_names = lt_field_names.
APPEND ls_input_fields TO lt_input_fields.
CALL FUNCTION 'CRM_ORDER_MAINTAIN'
EXPORTING
it_service_os = lt_service_os
CHANGING
ct_input_fields = lt_input_fields
EXCEPTIONS
error_occurred = 1
document_locked = 2
no_change_allowed = 3
no_authority = 4
OTHERS = 5.
IF sy-subrc <> 0.
WRITE : 'Error at maintaining reason'.
ENDIF.
CALL FUNCTION 'CRM_ORDER_SAVE'
EXPORTING
it_objects_to_save = lt_header_guid
iv_update_task_local = lv_update_task_local
IMPORTING
et_saved_objects = lt_saved_objects
EXCEPTIONS
document_not_saved = 1
OTHERS = 2.
IF sy-subrc <> 0.
WRITE : 'Error at saving'.
ELSE.
WRITE : 'Successfully Closed'.
COMMIT WORK AND WAIT.
ENDIF.
Run time error is coming at COMMIT WORK AND WAIT statement.
Please let me know any corrections are required in the above program.
When I analyzed the run time error I have found that it trying to insert the record in CRMD_SRV_OSSET for that CRM order, but already one record is present in the table for the same CRM order number.
For most of the CRM orders there is no entry in this table so they are closing successfully but for a few orders for which there is an entry we are getting the above run time error.
There is nothing wrong with the orders which have an entry already in the table CRMD_SRV_OSSET, I need to close these kind of orders with out run time error.
Kindly provide your feedback.Hi Dinakar,
You posted this in APO PPDS forum. This question should go to PP forum where someone could answer it.
Please close this thread and open a new thread in PP forum so that you could get help quickly from the relevant experts.
Regards - Pawan -
How to ChangePlantfor each item of Sales order using User Exit SAVE_DOCUMEN
Hi All,
I have to change plant for Each line item of sales order using (MV45AFZZ) (USEREXIT_SAVE_DOCUMENT) based on first Schedule line.
if Confirmed Quantity is Less than Ordered Quantity.
based on first Schedule line.
it has to select other Plant and need to populate it in line item of sales order.Please see the below code and let me knoe if any changes required... Thanks in Advance.
data : wa_vbep like xvbep,
Lv_matnr type mara-matnr,
lv_werks type marc-werks.
DATA: it_vbap TYPE STANDARD TABLE OF vbap,
wa_vbap TYPE vbap.
field-symbols: <wa_vbap> type VBAPVB.
clear wa_vbap.
*loop at xvbap into wa_vbap.
loop at xvbap assigning <wa_vbap>.
read table xvbep into wa_vbep with key posnr = <wa_vbap>-posnr.
if wa_vbep-ETENR = '0001'.
if sy-subrc = 0.
IF wa_VBEP-BMENG LT wa_VBEP-WMENG.
SELECT SINGLE DWERK
INTO lv_werks
FROM MVKE WHERE matnr = <wa_VBAP>-matnr
and DWERK ne <wa_VBAP>-werks.
if not Lv_werks is initial.
if lv_werks EQ 1033.
move '1002' to <wa_vbap>-werks.
if sy-subrc eq 0.
xvbap-werks = <wa_vbap>-werks.
modify xvbap from <wa_vbap> .
endif.
elseif lv_werks EQ 1003.
move '1003' to <wa_vbap>-werks.
elseif lv_werks EQ 1010.
move '1010' to <wa_vbap>-werks.
endif.
endif.
endif.
endif.
endif.
endloop.
endif.
Regards,
Sudhakar Reddy.AYou have to use the form routine "USEREXIT_SAVE_DOCUMENT_PREPARE"
regards
Vinod -
Creating sales order using ' BAPI_SALESORDER_CREATEFROMDAT1'
Hi ,
i have a problem in creating sales order using ' BAPI_SALESORDER_CREATEFROMDAT1 ' .
order number is created and every thing unless the order quantity isn't created for material item .
my inputs are .
in "ORDER_HEADER_IN"
(DOC_TYPE , SALES_ORG , DISTR_CHAN , DIVISION ,SALES_OFF )
in " ORDER_ITEMS_IN"
(MATERIAL ,PLANT ,REQ_QTY )
in "ORDER_PARTNERS"
(PARTN_ROLE , PARTN_NUMB)
so the order created but as i say the the order quqntity isn't created for the material so the "net value and maertial net valve )
aren't calcoluted .
<< Moderator message - Everyone's problem is important. But the answers in the forum are provided by volunteers. Please do not ask for help quickly. >>
waiting .
thanks for all
Edited by: Rob Burbank on Jan 7, 2011 4:28 PMHi Mr. Ahmed Tohamy,
my point is just create a schedule line with each item line. The relevant code we used was (excerpt)
perform bapi_map_filled using:
lv_matnr 'MATERIAL' space
changing ls_in ls_inx,
lv_tax_class1 'TAX_CLASS1' gc_true
changing ls_in ls_inx,
lv_qty 'TARGET_QTY' space
changing ls_in ls_inx, "QTY to item line
lv_qty 'REQ_QTY' space
changing ls_schdl ls_schdlx,"QTY to schedule line
lv_itm_number 'ITM_NUMBER' space
changing ls_in ls_dummy,
lv_itm_number 'ITM_NUMBER' space
changing ls_schdl ls_dummy,
lv_ref_doc_ca 'REF_DOC_CA' space
changing ls_in ls_inx,
lv_orderid 'ORDERID' space
changing ls_in ls_inx,
lv_ref_doc 'REF_DOC' space
changing ls_in ls_inx.
append:
ls_in to pt_order_items_in,
ls_inx to pt_order_items_inx,
ls_schdl to pt_order_schdl,
ls_schdlx to pt_order_schdlx.
Here the quantity is put to item line and schedule line, we always mark the correspoing X structure fields:
*& Form bapi_map_filled
* if the value passed is not initial, it is moved to the field
* and the corresponding (BAPI-) X-field is marked
* if no x-structure is required, a dummy structure is passed
* if p_initial parameter is filled, initial fields will be marked
* in x-structure. Purpose: transfer of initial values to BAPI
form bapi_map_filled using p_value type any
p_fieldname type fieldname
p_initial type flag
changing p_structure type any
p_structurex type any.
field-symbols:
<any> type any,
<c> type c.
check:
not ( p_value is initial and p_initial is initial ).
assign:
component p_fieldname of structure p_structure to <any>,
component p_fieldname of structure p_structurex to <c>.
<any> = p_value.
check <c> is assigned.
<c> = gc_true.
endform. " bapi_map_filled
Also, we did something to create conditions (i.e. tax) but I think that was project-specific.
We used BAPI_SALESORDER_CREATEFROMDAT2, I do not know about BAPI_SALESORDER_CREATEFROMDAT1.
Regards,
Clemens -
Need to find how to relate the purchase order table with account assignment
i need to reterieve the account assignment from the table bbp_pdacc, what is field or any tables that is between BBP_PDACC and Purchase order number or the purchase order items. I am working on the SRM system
Jacques-Antoine,
You can't directly translate a repeating node or element (such as an Item or a Project Task from the Accounting Coding Block of an Item) to a singular node or element.
The reason is that, though your use case may have the elements assumed to be the same for all items, this isn't necessarily the case, so ByDesign won't assume that you can use that kind of logic.
The simplest approach would be to do an On-Save at the Root node of the Purchase Order along the following lines:
this.projecttaskpo = this.Item.GetLast().ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment.ProjectTaskKey.TaskID;
i wouldn't actually recommend this code.
You'd need validations for IsInitial, IsSet, and those kinds of functions.
i'd at least use some foreach loop to check that all the accounting coding blocks were for the same task, raise warnings if they weren't, etc. -
How to delete an operation from order using the bapi
Can somebody please tell me how to delete an operation from order using the bapi
BAPI_ALM_ORDER_MAINTAIN.
Following was the test data for the BAPI.
000000 OPERATION DELETE 0000040052810070
000000 SAVE 0000040052810070
Even I tried entering the operation table. The BAPI control ends fine, but when I check the order using IW32, the operation still exists.
So, can you please tell me where Iam going wrong.Hi Subash Mohanvel,
Check bapireturn parameter of the bapi BAPI_ALM_ORDER_MAINTAIN after execution of the code , and if there is no error message in the return table then call bapi_Transaction_commit.
Unless you call this database saving of the records/values will not get reflected in the system.
Hope that helps.
Regards
Kapadia
***Assigning points is the way to say thanks in SDN.***
Maybe you are looking for
-
Multiple devices with multiple users on one itunes account
How do I get my daughters iTouch on my same itunes account so we can share apps/music but so that I don't see her imessages? Also - I don't want her messages coming across with my name. Thanks!
-
Error in xml to abap internal table transformation using xslt_tool
Hi friends, When i am trying to convert xml data into internal table it is going to dump because of empty elements. Can any body help to delete the empty tags from xml before processing through xslt_tool. example <Activity> <ID>add12095</ID> <Start>0
-
Ok so when I want to download an app, for instance, Instagram, I had it before but then I deleted it and I changed apple ids now I want the app back but it won't let me Becouse it says I downloaded it on another Apple ID. What do I do? Do I restart m
-
I recently lost my MacBook pro which was synched with my apple tv.Now I'm having a problem to bring back my data from my apple tv to my new MacBook
-
Hi! I have an application where it would be convenient to be able to switch between stacked and overlayed display while the VI is running. Since in LV5.1.1 there does not seem to be a way of changing that via an attribute node, I could just add anoth