Tree structre on service order form
Tree structre on service order form
Hello...
Is it possible to build tree structure on newScale service order forms? Please advise If anyone has developed it on a newscale form in past.
Thanks,
Mihir
not sure what "tree structure" you are refering to
but if you are thinking of dynamically driven dropdowns, then yes you can do it in multiple number of ways
1. Load a large JS array object and go thru it
2. Same thing with XML
3. run ISF to query some DB tables with the data
4. Hard code multiple all the options in differnet fields and show/hide based on selection
Similar Messages
-
Dear all ....
I have a problem with output the data of the fleet object (license num, chassis num ..... )found in the equipment master record to the service order form (PM_Common) with printing program (RIPRJT00).
I have make a Z copy from the form and i have made the following changes in order to have these data in the printout but till now i can't have these data , so please help me to find the reason ..
I have created a program with the following code..
REPORT ZZCS0002.
TABLES FLEET.
TABLES AFIH.
TABLES EQUI.
FORM Fleet_Data TABLES IN_TAB STRUCTURE ITCSY OUT_TAB STRUCTURE ITCSY.
DATA:
I_ORDER TYPE CAUFVD-AUFNR,
I_EQUIPMENT TYPE RIWO1-EQUNR,
I_OBJECT TYPE RIWO1-OBJNR,
I_CHASSISNUM TYPE FLEET-CHASSIS_NUM,
I_LICENSENUM TYPE FLEET-LICENSE_NUM.
READ TABLE IN_TAB WITH KEY 'CAUFVD-AUFNR'.
MOVE IN_TAB-VALUE TO I_ORDER.
READ TABLE IN_TAB WITH KEY 'RIWO1-EQUNR'.
MOVE IN_TAB-VALUE TO I_EQUIPMENT.
READ TABLE IN_TAB WITH KEY 'RIWO1-OBJNR'.
MOVE IN_TAB-VALUE TO I_OBJECT.
SELECT SINGLE FLEET~LICENSE_NUM
INTO I_LICENSENUM
FROM AFIH INNER JOIN EQUI ON EQUIEQUNR = AFIHEQUNR INNER JOIN FLEET ON FLEETOBJNR = EQUIOBJNR
WHERE AFIH~AUFNR = IN_TAB-VALUE
AND FLEET~OBJNR = IN_TAB-VALUE
AND EQUI~EQUNR = IN_TAB-VALUE.
READ TABLE OUT_TAB WITH KEY NAME = 'I_LICENSENUM'.
IF SY-SUBRC = 0.
OUT_TAB-VALUE = I_LICENSENUM.
MODIFY OUT_TAB INDEX SY-TABIX.
ENDIF.
IF I_LICENSENUM IS INITIAL.
I_LICENSENUM = 'NONE'.
ENDIF.
ENDFORM.
and i have made the following changes to the sapscript form ...
/: PERFORM FLEET_DATA IN PROGRAM ZZCS0002
/: USING &CAUFVD-AUFNR&
/: USING &EQUI-EQUNR&
/: USING &EQUI-OBJNR&
/: CHANGING &I_LICENSENUM&
/: ENDPERFORM
T2 CHASSIS NUMBER : &I_LICENSENUM&Hi Adel.
Please use tthe following code
SELECT SINGLE FLEET~LICENSE_NUM
INTO I_LICENSENUM
FROM ( ( AFIH INNER JOIN EQUI ON EQUI~EQUNR = AFIH~EQUNR )
INNER JOIN FLEET ON FLEET~OBJNR = EQUI~OBJNR )
WHERE AFIH~AUFNR = I_ORDER
AND FLEET~OBJNR = I_OBJECT
AND EQUI~EQUNR =I_EQUIPMENT.
or if your where condition is according to your requiremnet means use below code.
SELECT SINGLE FLEET~LICENSE_NUM
INTO I_LICENSENUM
FROM ( ( AFIH INNER JOIN EQUI ON EQUI~EQUNR = AFIH~EQUNR )
INNER JOIN FLEET ON FLEET~OBJNR = EQUI~OBJNR )
WHERE AFIH~AUFNR = IN_TAB-VALUE
AND FLEET~OBJNR = IN_TAB-VALUE
AND EQUI~EQUNR = IN_TAB-VALUE
instead of your below code.
SELECT SINGLE FLEET~LICENSE_NUM
INTO I_LICENSENUM
FROM AFIH INNER JOIN EQUI ON EQUI~EQUNR = AFIH~EQUNR INNER JOIN FLEET ON FLEET~OBJNR = EQUI~OBJNR
WHERE AFIH~AUFNR = IN_TAB-VALUE
AND FLEET~OBJNR = IN_TAB-VALUE
AND EQUI~EQUNR = IN_TAB-VALUE.
plz reward points if helpful
Thanks,
Suma. -
Service Order Form - Customer Service
Gurus,
Is it possible with IW3D to send the Service Order Form to the customer via e-mail automatically from SAP?
Thanks.
MarcoHello,
We ha a similar requirement, but it was not through IW3D. It was done through the service order user statuses. We have developed a FM to trigger a mail to the customer when the user saves the document in a particualr user status.
It worked fine. If you want to use IW3D, then you need to chage the progam (shop paper) and include the mail triggering programs. Speak to your technical expert, he will guide you.
Regards,
SAM -
Hi guys I have a problem trx iw32 use a form to print a service order however the description order has only 40 character field CAUFVD-TEXT in "description " you can put a longer text but when you try to pass this to form only you can see the 40 chr . What can i do , How can I show a longer test.
Hi,
Maybe look at a standard print program such as RIPRJT00. The function READ_TEXT is used to read the long text for order header, operations, etc.
You might also get more help in the [Enterprise Asset Management (EAM)|Enterprise Asset Management (SAP EAM); forum.
-Paul -
Form Creation for Service Order
Hi
I am new to CRM Mobile, although I have worked in CRM for couple of years now.
In our project there is requirement to print forms (attached to Service Order) from Laptop whenever company representative meets customer. For this CRM Mobile is being used.
Now related to this I have few questions:
1) Form Creation: In CRM online system we can create form in SMARTFORMS. Do we use the same tool for form creation? Where is it created and how is it downloaded to Laptops ? (I believe to a transaction type we assign action profile which calls this form. This is brought into system using normal synchronization)
2) Which Database tables does it refer to, normal CRM application tables or SMO tables.
Please help me in this.
Thanx & Regards
HitsHi,
the kind of Mobile applications we are talking about here is only running on laptops or tablet PCs, not on handhelds. So normally the users have an additional portable printer with them when being in the field.
Another thing: For the document generation there are two possibilities, MS word or crystal reports. Both have advantages and disadvantages which need to be analysed for the project.
Regards,
Wolfhard -
Contract determination form the service order
Hello everyone,
I am working on CRM 5.0 service order and service contracts.
I created an IBase and I assigned it to the products in the service contract on the item level (in object list) and the same I did on the item level in the service order (in object). But When I enter the product in the service order it gives me an error that a "new contract for the item 10 should be run" with execution choice to run it.
After I ran the contract I found the product price is not picked from the service contract and picked form the pricing of the service order and a message in the tab page contract that no contract has been determined
The IBase created contains only the product ID and quantity field and linked with a business partner sold to party
Is it possible to make the contract determination depends only on the organizational structure and sold to party and remove the Ibase form this determination
Thanks in advance
Jacopo FrançoisHi Pratik Patel
I want to know why this problem happen the error message "new contract for the item 10 should be run" shows that there is a contract have been determined but the product price is not picked from the service contract and picked form the pricing of the service order and a message in the tab page contract that no contract has been determined
Would you please help me to implement this badi?
Thanks
Jacopo François -
Standard Form for Service order.
Can any1 suggest me which standard form for service order?
otherwise should I go for New one? pls guide me..If it is PM module then no need to go for that long path you can configure it in the OID1 transaction .
If it is PM module you cant develop smartform you need to go for script only.
As Wing mentioned try PM_COMMON script . Even I have worked on PM module but developed my own form
Regards,
Nageswar -
Credit block should not prevent service order creation
An upgrade from 4.7 to ECC6, without any changes made to the configuration or program change, has lead to the following issue. ECC6 is not creating a service order connected to a sales order, when the customer has exceeded the credit limit. The sales order of custom order type is getting saved with a warning message that credit limit has exceeded. However, earlier in 4.7, the message would not stop creating subsequent service order. What could be different, that prevent ECC6 environment to hold on to service order creation? A subsequent release of the credit block through VKM1 however triggers the service order being created.
Are you using credit card processing in SAP to get the authorization?
If you are then the authorization should not block the order.
Or are you using credit card as a form of payment (without authorization) in which case this needs to be put on the customers account as a payment and then the order entered.
Where are you holding the credit card details? -
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 -
Stop Message while saving Service Order from IW51
Hello,
I am getting bleow error while saving service order.
System: Status object does not exist. Message Numner IW351
Actually I have done one enhcement in the User exit of the Sales order in the form Routine...
USEREXIT_SAVE_DOCUMENT_PREPARE
From this depending upon the some validation i am populating Error message,
I am creating sales order through service order from the Transaction IW51.
When i Try to save the service order i get the error messages which is coming from my validation which
I had put in the MV45AFZZ.
After the error messgae i press ENTER and then try to change the order by clcicking on the advance shipment.
As soon as i click on that i get a STOP messgae.
Which i as below.
System: Status object does not exist
I m not getting why it is coming.
Kindly Help.
Regards
SachinHi,
After MESSAGE add STOP. :
MESSAGE ixxx(xxx) with param1 param2 param3 DISPLAY LIKE 'E'.
STOP.
or If ambiguity with usage of STOP being obselete use EXIT after message.
MESSAGE ixxx(xxx) with param1 param2 param3 DISPLAY LIKE 'E'.
EXIT.
BR
Dep -
Web based booking in of service orders
A company I have recently been doing work for approached me with a interesting request. They wanted a method for users to be able to book in service orders themselves, online. Vendors were not being paid on time due to the fact acknowledgment of receipt of the orders was not given in a timely fashion.
Not everyone had access to SAP for cost reasons. Also quite a few people for some reason do not like the SAP interface. The spreadsheet they generated based on a SAP report was also proving ineffective due to users overwriting acknowledged orders.
With this in mind, Myself and the local ABAP programmer came up with the following solution.
The main ingredients of the solution involve the following:
1)Windows Active Directory
2)IIS, PHP
3)BAPI_GOODSMVT_CREATE,BAPI_TRANSACTION_COMMIT,BAPI_TRANSACTION_ROLLBACK
A Windows 2000 Intranet server was setup with PHP and the SAPRFC extension. Using Windows authentication we now select the correct recipient for the outstanding service orders report. The local ABAP programmer wrote a function to allow me to pass the username as a import parameter and receive the lines of outstanding orders in JTAB which I can pull off into an array using saprfc_table_read.
Here is an overview of how this works. I don't have the script in front of me. So I'm doing this from memory. I will add some more code specific detail at a later date.
1)PHP script calls local bespoke RFC function and sends RECIPENT (username) as an import parameter. RFC function fills JTAB with outstanding orders. Items in JTAB table are LIFNR,NAME1,EBELN,EBELP,TXZ01,EINDT,OPENQTY,MEINS,NETPR,WAERS,WEMPF. Each line is then read in a loop using the number of rows returned by saprfc_table_rows.
2)The user is then presented with a form which allows them to acknowledge orders to the maximum value of OPENQTY for each line item.
3)On submission the lines are sorted by vendor. We have to run the BAPI's multiple times for each vendor. You can't book in line items from different vendors in one go. Once this is done we can start calling our BAPI's to book the items in.
4)We setup a loop by vendor which does the following:
Call BAPI_GOODSMVT_CREATE and set the import parameters GOODSMVT_HEADER & GOODSMVT_CODE.
<code>
/* Please note this is not runnable code. It's code just to get a feel of whats going on. You will need to fill in the details */
$goodsmvt_header = array('PSTING_DATE' => '20050512',
'DOC_DATE'=> '20050512',
'REF_DOC_NO'=> 'Jsimmons');
$goodsmvt_code = array('GM_CODE' => '01');
/* $fhandle is from a connection we established earlier using saprfc_open & saprfc_function_discover */
saprfc_import($fhandle,'GOODSMVT_HEADER',$goodsmvt_header);
saprfc_import($fhandle,'GOODSMVT_CODE',$goodsmvt_code);
we now need to specify what items we wish to book in We have an array of line items associated with the current vendor in the outer loop which looks like this:
$lineitem = array('PO_NUMBER' => 'ponumber_from_user_form',
'PO_ITEM'=> 'poitem_from_user_form',
'MOVE_TYPE'=> '101',
'MVT_IND'=> 'B',
' ENTRY_QNT'=> ,'number_to_book_in_from_user_form');
saprfc_table_init($fhandle,'GOODS_MVT_ITEM');
foreach ($alllineitems as $lineitem) {
saprfc_table_append($fhandle,'GOODS_MVT_ITEM',$lineitem);
// check for errors using saprfc_error
/* Now we need to call our first BAPI to post the items */
$errorcode = saprfc_call_and_receive ($fhandle);
// Insert Error handling code in here
/* If the RESULTS table has entries , We have a problem */
if (saprfc_table_rows($fhandle,'RESULTS'){
$fhandle = saprfc_function_discover($rfcconnection,'BAPI_TRANSACTION_ROLLBACK');
$errorcode = saprfc_call_and_receive ($fhandle);
// Insert Error handling code in here
}else {
$fhandle = saprfc_function_discover($rfcconnection,'BAPI_TRANSACTION_COMMIT');
$errorcode = saprfc_call_and_receive ($fhandle);
// Insert Error handling code in here
saprfc_function_free($fhandle);
saprfc_close($rfconnection);
// Start loop again for next vendor
</code>
The overall results is that we now have a intranet application which allows users to easlily book in services orders. I even created a script which nags users via email to book in services orders. The nag email contains a link to the intranet page which contains the application.
Benefits:
1)Extremely cheap solution using every day tools
2)Browser based interface which everyone knows how to use.
3)Vendors are paid on time which allows the company to trade on more favorable terms.
4)Reduced administrator workload chasing people and making spreadsheets to capture outstanding service orders
I would recommend going through some of the documentation for the SAPRFC extension. This will give you an idea of what I'm trying to convey here, and fill in the gaps.
http://saprfc.sourceforge.net/src/saprfc.html
Have fun !Jason,
Craig is correct, your posting would make an excellent weblog. Perhaps creating an accurate step-by-step with actual code would be the way to go. You certainly will be rewarded with contribution points for your effort!
To become a weblogger just visit Submit Content in the upper Nav level. https://www.sdn.sap.com/sdn/weblogs.sdn?node=linkwnode3-6&contenttype=url&content=/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fsdn!2fiviews!2fframework!2fcom.sap.sdn.weblogs?redirect=https://weblogs.sdn.sap.com/apply/ and request to be a weblogger. After filling out the template you will be approved.
Craig,
You seem to be doing a fantastic job of moderating and encouraging the activity in these threads. This will be rewarded as well!
thanks,
Marilyn
SDN Community Manager -
Create sales order with reference to service order
Hi
I need to create sales order based on the service order . Is there any BAPI function module available for this ?
Please help...
Regards
Sujith** プログラムID       : ZBAPI_SALESORDER_CREATE *
** プログラム名称      : Upload Sales Order Creation *
** 処理概要         : *
** 作成者           : Karthik.P *
** 作成日           : 2006/08/10 *
REPORT ZBAPI_SALESORDER_CREATE LINE-SIZE 132 MESSAGE-ID ZMMBAPI .
Internal table definition *
****<<<<<Communication Fields: Sales and Distribution Document Header>>>>>>>>
DATA: GT_ORDER_HEADER_IN LIKE BAPISDHD1,
*******<<<Checkbox Fields for Sales and Distribution Document Header>>>>>>>>>
GT_ORDER_HEADER_INX LIKE BAPISDHD1X,
*****<<<<<Return Parameter>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
GT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE, " Return Messages
*********<<<Communication Fields: Sales and Distribution Document Item<>>>>>
GT_ORDER_ITEMS_IN LIKE BAPISDITM OCCURS 0 WITH HEADER LINE, " Item Data
*********<<<Communication Fields: Sales and Distribution Document Item>>>>>>>
GT_ORDER_ITEMS_INX LIKE BAPISDITMX OCCURS 0 WITH HEADER LINE, "Item Data Checkbox
*********<<<Communication Fields: Sales and Distribution Document Item>>>>>>>
GT_SALESDOCUMENT LIKE BAPIVBELN-VBELN , "Number of Generated Document
*********<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_PARTNERS LIKE BAPIPARNR OCCURS 0 WITH HEADER LINE, "Document Partner
********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_IN LIKE BAPISCHDL OCCURS 0 WITH HEADER LINE, "Schedule Line Data
****<<<<<<<<Checkbox List for Maintaining Sales Document Schedule Line>>>>>>>>
GT_ORDER_SCHEDULES_INX LIKE BAPISCHDLX OCCURS 0 WITH HEADER LINE, " Checkbox Schedule Line Data
*******Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_IN LIKE BAPICOND OCCURS 0 WITH HEADER LINE,
******Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_INX LIKE BAPICONDX OCCURS 0 WITH HEADER LINE.
Data definition *
DATA: BEGIN OF GT_FT_SALES OCCURS 0,
DOC_TYPE(4) , "Sales Document Type
SALES_ORG(4) , "Sales Organization
DISTR_CHAN(2) , "Distribution Channel
DIVISION(2) , "DIVISION(2)
SALES_DIST(6) , "Sales district
INCOTERMS1(3) , "Incoterms (part 1)
INCOTERMS2(28) , "Incoterms (part 2)
PMNTTRMS(4) , "Terms of payment key
PRICE_DATE(8) , "Date for pricing and exchange rate
PURCH_NO_C(35) , "Customer purchase order number
PURCH_NO_S(35) , "Ship-to Party's Purchase Order Number
EXCHG_RATE(8) , "Directly quoted exchange rate for pricing and statistics
CURRENCY(5) , "SD document currency
MATERIAL(18), "MATERIAL
TARGET_QTY(13) , "Target quantity in sales units
ITEM_CATEG(4) , "Sales document item category
MATL_GROUP(8) , "Material Group
PURCH_NO_C1(35), "Customer purchase order number
SALES_DIST1(6) , "Sales district
INCOTERMS11(3) , "Incoterms (part 1)
INCOTERMS21(28), "Incoterms (part 2)
PMNTTRMS1(4) , "Terms of payment key
EXCHG_RATE1(8) , "Directly quoted exchange rate for pricing and statistics
PRICE_DATE1(8) , "Date for pricing and exchange rate
TRG_QTY_NO(5) , "Factor for converting sales units to base units (target qty)
DIVISION1(2) , "DIVISION1
SALQTYNUM(5) , "Numerator (factor) for conversion of sales quantity into SKU
GROSS_WGHT(3) , "Gross Weight of the Item
NET_WEIGHT(15) , "Net Weight of the Item
UNTOF_WGHT(3) ,"Weight Unit
PARTN_ROLE(2) ,"Partner function
PARTN_NUMB(10) ,"Customer Number 1
********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
ITM_NUMBER(6) ,"Item number of the SD document
REQ_QTY(8) , "Schedule line date
DLV_DATE(8) , "Schedule line date
MS_DATE(8) , "Material availability date
LOAD_DATE(8) , "Loading time (local time with reference to a shipping point)
GI_DATE(8), "Time of goods issue (local DATE, with reference to a plant)
TP_DATE(8) , "Transportation planning -time (local w/ref. to shipping pnt)
ITM_NUMBER2(6) , "Condition item number
END OF GT_FT_SALES,
MSG(240) TYPE C, " Return Message
E_REC(8) TYPE C, " Error Records Counter
REC_NO(8) TYPE C, " Records Number Indicator
S_REC(8) TYPE C, " Successful Records Counter
T_REC(8) TYPE C. " Total Records Counter
selection block for EXCEL UPLOAD FILE>>>>>>>>>>>>>>>>>>>>>>>>
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
PARAMETERS FILE TYPE IBIPPARMS-PATH OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
*<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .>>>>>>>>>>>>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
IMPORTING
FILE_NAME = FILE.
**<<<<<<<<<<<<<<<<<START-OF-SELECTION.>>>>>>>>>>>>>>>>>>>>>>>>>>>
START-OF-SELECTION.
CALL FUNCTION 'WS_UPLOAD' "#EC *
EXPORTING
FILENAME = FILE
FILETYPE = 'DAT'
TABLES
DATA_TAB = GT_FT_SALES
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11.
IF SY-SUBRC <> 0 .
MESSAGE E000.
ENDIF.
SKIP 3.
FORMAT COLOR COL_HEADING INVERSE ON.
WRITE 40 TEXT-001.
FORMAT COLOR COL_HEADING INVERSE OFF.
SKIP 1.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
WRITE :/ TEXT-002, 13 SY-MANDT , 104 TEXT-003, 111 SY-UNAME,
/ TEXT-004, 13 SY-DATUM , 104 TEXT-005, 111 SY-UZEIT.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
SKIP 3.
LOOP AT GT_FT_SALES.
PERFORM SLALE_UPLOAD_DATA.
ENDLOOP.
T_REC = E_REC + S_REC.
SKIP 3.
FORMAT COLOR COL_TOTAL INVERSE ON.
WRITE: /38 TEXT-007, T_REC.
FORMAT COLOR COL_TOTAL INVERSE OFF.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
WRITE: /38 TEXT-008, E_REC.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
FORMAT COLOR COL_TOTAL INVERSE ON.
WRITE: /38 TEXT-009, S_REC.
FORMAT COLOR COL_TOTAL INVERSE OFF.
*& Form SLALE_UPLOAD_DATA
text
--> p1 text
<-- p2 text
FORM SLALE_UPLOAD_DATA .
*******<<<<<<<<<<Communication Fields: Sales and Distribution Document Header>>>>>>
GT_ORDER_HEADER_IN-DOC_TYPE = 'TA'.
GT_ORDER_HEADER_IN-SALES_ORG = GT_FT_SALES-SALES_ORG . "'0001'
GT_ORDER_HEADER_IN-DISTR_CHAN = GT_FT_SALES-DISTR_CHAN. "'01'
GT_ORDER_HEADER_IN-DIVISION = GT_FT_SALES-DIVISION. " '01'
GT_ORDER_HEADER_IN-SALES_DIST = GT_FT_SALES-SALES_DIST ."'000001'
GT_ORDER_HEADER_IN-INCOTERMS1 = GT_FT_SALES-INCOTERMS1. "'CFR'
GT_ORDER_HEADER_IN-INCOTERMS2 = GT_FT_SALES-INCOTERMS2 . "'HAMBURG'
GT_ORDER_HEADER_IN-PMNTTRMS = GT_FT_SALES-PMNTTRMS . "'0001'
GT_ORDER_HEADER_IN-PRICE_DATE = GT_FT_SALES-PRICE_DATE ."'20060818'
GT_ORDER_HEADER_IN-PURCH_NO_C = '32'.
GT_ORDER_HEADER_IN-PURCH_NO_S = '32'.
GT_ORDER_HEADER_IN-EXCHG_RATE = GT_FT_SALES-EXCHG_RATE ."'1.00000'
GT_ORDER_HEADER_IN-CURRENCY = GT_FT_SALES-CURRENCY . " 'EUR'
********<<<Checkbox Fields for Sales and Distribution Document Header>>>>>>>>>
GT_ORDER_HEADER_INX-DOC_TYPE = 'X'.
GT_ORDER_HEADER_INX-SALES_ORG = 'X'.
GT_ORDER_HEADER_INX-DISTR_CHAN = 'X'.
GT_ORDER_HEADER_INX-DIVISION = 'X'.
GT_ORDER_HEADER_INX-SALES_DIST = 'X'.
GT_ORDER_HEADER_INX-INCOTERMS1 = 'X'.
GT_ORDER_HEADER_INX-INCOTERMS2 = 'X'.
GT_ORDER_HEADER_INX-PMNTTRMS = 'X'.
GT_ORDER_HEADER_INX-PRICE_DATE = 'X'.
GT_ORDER_HEADER_INX-PURCH_NO_C = 'X'.
GT_ORDER_HEADER_INX-PURCH_NO_S = 'X'.
GT_ORDER_HEADER_INX-EXCHG_RATE = 'X'.
GT_ORDER_HEADER_INX-CURRENCY = 'X'.
*****<<<<<<Communication Fields: Sales and Distribution Document Item>>>
GT_ORDER_ITEMS_IN-ITM_NUMBER = '000010'.
GT_ORDER_ITEMS_IN-MATERIAL = GT_FT_SALES-MATERIAL .
GT_ORDER_ITEMS_IN-PO_ITM_NO = '32'.
GT_ORDER_ITEMS_IN-CUST_MAT22 = 'AGNI-IV'.
GT_ORDER_ITEMS_IN-BILL_DATE = '20060808'.
GT_ORDER_ITEMS_IN-PLANT = '0001'.
*GT_ORDER_ITEMS_IN-STORE_LOC = '0001'.
GT_ORDER_ITEMS_IN-TARGET_QTY = GT_FT_SALES-TARGET_QTY . "'1000'
GT_ORDER_ITEMS_IN-ITEM_CATEG = GT_FT_SALES-ITEM_CATEG . "'TAN'
GT_ORDER_ITEMS_IN-MATL_GROUP = GT_FT_SALES-MATL_GROUP . "'01'
GT_ORDER_ITEMS_IN-PURCH_NO_C = GT_FT_SALES-PURCH_NO_C . "'32'
GT_ORDER_ITEMS_IN-SALES_DIST = GT_FT_SALES-SALES_DIST . "'000001'
GT_ORDER_ITEMS_IN-INCOTERMS1 = GT_FT_SALES-INCOTERMS1 . "'CFR'
GT_ORDER_ITEMS_IN-INCOTERMS2 = GT_FT_SALES-INCOTERMS2 . "'HAMBURG'
GT_ORDER_ITEMS_IN-PMNTTRMS = GT_FT_SALES-PMNTTRMS . "'0001'.
GT_ORDER_ITEMS_IN-EXCHG_RATE = GT_FT_SALES-EXCHG_RATE . "'1.00000'
GT_ORDER_ITEMS_IN-PRICE_DATE = GT_FT_SALES-PRICE_DATE . "'20060808'
*GT_ORDER_ITEMS_IN-SALES_UNIT = 'DZ'.
GT_ORDER_ITEMS_IN-TRG_QTY_NO = GT_FT_SALES-TRG_QTY_NO . "'23'
GT_ORDER_ITEMS_IN-DIVISION = GT_FT_SALES-DIVISION . "'01'
GT_ORDER_ITEMS_IN-SALQTYNUM = GT_FT_SALES-SALQTYNUM . "'32'
GT_ORDER_ITEMS_IN-GROSS_WGHT = GT_FT_SALES-GROSS_WGHT. " ' 25272000'
GT_ORDER_ITEMS_IN-NET_WEIGHT = GT_FT_SALES-NET_WEIGHT. "'24464000'
GT_ORDER_ITEMS_IN-UNTOF_WGHT = GT_FT_SALES-UNTOF_WGHT . " 'KG'
*GT_ORDER_ITEMS_IN-CURRENCY = 'EUR'.
APPEND GT_ORDER_ITEMS_IN.
****<<<<<<Communication Fields: Sales and Distribution Document Item>>>
GT_ORDER_ITEMS_INX-ITM_NUMBER = '000010'.
GT_ORDER_ITEMS_INX-MATERIAL = 'X'.
*GT_ORDER_ITEMS_INX-PO_ITM_NO = 'X'.
GT_ORDER_ITEMS_INX-CUST_MAT22 = 'X'.
GT_ORDER_ITEMS_INX-BILL_DATE = 'X'.
GT_ORDER_ITEMS_INX-PLANT = 'X'.
*GT_ORDER_ITEMS_INX-STORE_LOC = 'X'.
GT_ORDER_ITEMS_INX-TARGET_QTY = 'X'.
GT_ORDER_ITEMS_INX-ITEM_CATEG = 'X'.
GT_ORDER_ITEMS_INX-MATL_GROUP = 'X'.
GT_ORDER_ITEMS_INX-PURCH_NO_C = 'X'.
GT_ORDER_ITEMS_INX-SALES_DIST = 'X'.
GT_ORDER_ITEMS_INX-INCOTERMS1 = 'X'.
GT_ORDER_ITEMS_INX-INCOTERMS2 = 'X'.
GT_ORDER_ITEMS_INX-PMNTTRMS = 'X'.
GT_ORDER_ITEMS_INX-EXCHG_RATE = 'X'.
GT_ORDER_ITEMS_INX-PRICE_DATE = 'X'.
*GT_ORDER_ITEMS_INX-SALES_UNIT = 'X'.
GT_ORDER_ITEMS_INX-TRG_QTY_NO = 'X'.
GT_ORDER_ITEMS_INX-DIVISION = 'X'.
GT_ORDER_ITEMS_INX-SALQTYNUM = 'X'.
GT_ORDER_ITEMS_INX-GROSS_WGHT = 'X'.
GT_ORDER_ITEMS_INX-NET_WEIGHT = 'X'.
GT_ORDER_ITEMS_INX-UNTOF_WGHT = 'X'.
*GT_ORDER_ITEMS_IN-CURRENCY = 'x'.
APPEND GT_ORDER_ITEMS_INX.
*****<<<<<<Communications Fields: SD Document Partner: WWW
GT_ORDER_PARTNERS-PARTN_ROLE = 'WE'.
GT_ORDER_PARTNERS-PARTN_NUMB = '0000000057'.
***GT_ORDER_PARTNERS-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER . " '000010'.
APPEND GT_ORDER_PARTNERS.
*********<<<<Communications Fields: SD Document Partner: WWW>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER." '000010'
GT_ORDER_SCHEDULES_IN-REQ_QTY = GT_FT_SALES-REQ_QTY . "'234'
GT_ORDER_SCHEDULES_IN-DLV_DATE = GT_FT_SALES-DLV_DATE ." '20060824'.
GT_ORDER_SCHEDULES_IN-MS_DATE = GT_FT_SALES-MS_DATE . "'20060808'
GT_ORDER_SCHEDULES_IN-LOAD_DATE = GT_FT_SALES-LOAD_DATE. " '20060822'
GT_ORDER_SCHEDULES_IN-GI_DATE = GT_FT_SALES-GI_DATE . " '20060823'
GT_ORDER_SCHEDULES_IN-TP_DATE = GT_FT_SALES-TP_DATE . "'20060821'
APPEND gt_ORDER_SCHEDULES_IN.
*********<<<<Communications Fields: SD Document Partner: WWW FLAG>>>>>>>>>>>>>>>>>>
GT_ORDER_SCHEDULES_INX-ITM_NUMBER = '000010'.
GT_ORDER_SCHEDULES_INX-REQ_QTY = 'X'.
GT_ORDER_SCHEDULES_INX-DLV_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-MS_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-LOAD_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-GI_DATE = 'X'.
GT_ORDER_SCHEDULES_INX-DLV_DATE = 'X'.
APPEND gt_ORDER_SCHEDULES_INX.
********Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_IN-ITM_NUMBER = GT_FT_SALES-ITM_NUMBER ." '000010'
APPEND GT_ORDER_CONDITIONS_IN.
***Communication Fields for Maintaining Conditions in the Order
GT_ORDER_CONDITIONS_INX-ITM_NUMBER = '000010'.
APPEND GT_ORDER_CONDITIONS_INX.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = GT_ORDER_HEADER_IN
ORDER_HEADER_INX = GT_ORDER_HEADER_INX
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = GT_SALESDOCUMENT
TABLES
RETURN = GT_RETURN
ORDER_ITEMS_IN = GT_ORDER_ITEMS_IN
ORDER_ITEMS_INX = GT_ORDER_ITEMS_INX
ORDER_PARTNERS = GT_ORDER_PARTNERS
ORDER_SCHEDULES_IN = GT_ORDER_SCHEDULES_IN
ORDER_SCHEDULES_INX = GT_ORDER_SCHEDULES_INX
ORDER_CONDITIONS_IN = GT_ORDER_CONDITIONS_IN
ORDER_CONDITIONS_INX = GT_ORDER_CONDITIONS_INX
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
IF GT_RETURN-TYPE EQ 'E' .
E_REC = E_REC + 1.
READ TABLE GT_RETURN WITH KEY ID = 'V1'.
FORMAT COLOR COL_NEGATIVE INVERSE ON.
REC_NO = E_REC + S_REC.
CONCATENATE TEXT-006 REC_NO ':'
GT_RETURN-MESSAGE INTO MSG SEPARATED BY SPACE .
CONDENSE MSG.
WRITE: / MSG.
FORMAT COLOR COL_NEGATIVE INVERSE OFF.
ELSEIF GT_RETURN-TYPE EQ 'S'.
S_REC = S_REC + 1.
FORMAT COLOR COL_POSITIVE INVERSE ON.
MSG = GT_RETURN-MESSAGE.
CONDENSE MSG.
WRITE: / MSG .
FORMAT COLOR COL_POSITIVE INVERSE OFF.
PERFORM COMMIT_MM.
ENDIF.
CLEAR: GT_RETURN[], MSG.
ENDFORM. " SLALE_UPLOAD_DATA
*& Form COMMIT_MM
text
--> p1 text
<-- p2 text
FORM COMMIT_MM .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = GT_RETURN.
clear: GT_ORDER_ITEMS_IN[],GT_ORDER_CONDITIONS_IN[].
ENDFORM. " COMMIT_MM -
Print smartforms for service order with printer, not a spool in CRM WebUI
Dear Experts!
We have a long list of different print forms for a service order. We would love to have a list of these forms appearing when clicking on "Print" button to choose from.
We have made appropriate settings in SPRO (CRM -> Basic Functions -> Actions -> Actions in Transaction -> Change Actions and Conditions -> Define Action Profiles and Actions & Define Conditions). Option "Print Immediately" is set, and the Output Device is set to local printer. So now we have the following results:
- When clicking "Print Preview", a window appears where one of the possible forms may be selected to be shown as PDF.
- When clicking "Print", one of the forms is being moved to spool. So, you may only enter the spool in GUI and send the document to printer.
There is only one help topic about printing, that says:
Prerequisites
Actions are displayed on the Print pushbutton if the following criteria are met:
-The print action is set as relevant for the toolbar
- A print smart form is defined as the processing type
- The action is set to Execute immediately
- The action is inactive, that is, it is set to be executed manually
Please, give us a hint on how to make customizing to send document right to the printer.Hi Alex,
This Business Add-In (PRINTER_DETERM_PPF) is used in the Actions (CRM-BF-ACI) component. It enables you to determine a printer more flexibly than the standard Customizing activity allows you to. For example, if you want to print an e-mail confirmation from a local printer in your office, and not from the usual printer for your entire department, you can use this add-in to do so.
Get back to me for a more info.
Hope this helps.
Cheers, Satish -
Copying WBS element (a/c assignment ) from sales order to Service order
HI Controllers,
I got one requirement it is , we need to copy the account assignment (WBS element ) from sales order line item to service order line item . Morever same wbs element shud be used to create automatic settlement rule in service order.
This should also work even if user changes the WBS element later. i.e, updated WBS element should again update service order and settlement rule automatically.
<< Moderator message - Everyone's problem is important. Please do not ask for help quickly. >>
Thanks in advance
Sneha
Edited by: Rob Burbank on Apr 25, 2011 1:39 PMHi Sneha
You can use Exit MV45AFZB in order to copy the account assignment objects... Use the Form USEREXIT_MOVE_FIELD_TO_COBL with in MV45AFZB
You can use the same exit to update your settlement rule as well
br, Ajay M -
Restructure Purchase Order Form?
Hi all
I am in learning phase of SAP BYD.
I have task to restructure the Purchase order Form.
Contact should be
Purchase request and orders (WC) > Purchase order / Général tab
Buyer responsible field
Below Contact I want to put new label Service
Service->
Purchase request and orders (WC) > Purchase order / General tab
Double click on Buyer responsible field to display employee Overview and use Reporting Line unit as service.
Can any help me to achieve this?
THanks & Regards
PRATPrat,
Follow the steps below to add new field.
1. Go to Purchase Order WC
2. Click on create new purchase order
3. Click on Adapt on the top right corner of your screen-->enter adaptation mode-->yes to the pop up and ok. Click on adapt and edit screen.
4. Highlight General information under Sections and click on extension field-->add--> Type in service in Field label, Tooltip and technical name and save. Leave the rest empty.
5. Tick the displayed box service under fields and publish. If you want the service to be displayed in reports go to further usage--> add the service to the data sources and reports tabs.
6. Publish and overwrite any personalization settings for that screen that user might have saved.
7.Go to adapt and leave adaption mode.
Hope this will help you.
Regards,
Emeka
Maybe you are looking for
-
Price Difference account when Creating Goods Return
Hello experts, I got below case: 1) Create a GRPO 2) Created Landed Cost document 3) Create a Goods Return (realized the lot number entered on the GRPO) was incorrect. When I create the latter document, this impacts the Price Difference account for t
-
Is it possible to make an OSB Proxy service offline/online based on BS
JMS QUEUE | |_____ Proxy Service <-------->Business Service <---------> External System URL I have a configuration as shown above. There is a way to make the Business Service offline/online based on the External system URL being offline/online by set
-
No sound through the HDMI connector using Qosmio G30-201 & Vista
I am getting no sound through the HDMI connector using VISta. I have XP and Vista on my laptop. When i boot into Xp I can get the sound to come through the television but when I boot into vista I have no sound coming through. I have just reloaded bot
-
I can't use Photobooth - when I open the app, I get the message: "Photo Booth couldn't save your photos - Photo Both encountered an error when trying to save your photos. You photos cannot be saved at this time." i tried adding user macintosh hd/user
-
[ACE] Real servers and VIP in the same VLAN
Hello. I´m facing an issue because the real servers and the VIP address are in the same VLAN, when a request comes from an external client to the VIP (crossing an ASA firewall) , the ACK gets back using the IP of one of the real servers instead of th