Confirmation of Benefits letter as SMARTFORM
Hi All,
I have created a smartform for the confirmation of benefits form letter and would like to use this instead of the standard SAPScript(TCODE = HRBEN0015). Is there a way to redirect it to the smartform?
Please advise.
Kind Regards,
Daniel A. La Mendola
Daniel,
Yes, you can go to IMG -> Personnel Management ->Benefits -> Flexible Administration -> Form Set up ->Assign Templates to Form Types. There you`ll find place for Adobe form as above mentioned by Ted.
Here is the link for Adobe form configuration: https://wiki.sdn.sap.com/wiki/display/ABAP/SAPInteractiveForms-PDF-BasedPrintForms#SAPInteractiveForms-PDF-BasedPrintForms-Whatarethestepstogenerateaform%3F
Regards,
David
Similar Messages
-
Hi experts,
I have to create a form for dunning letter with (smartforms) for the transaction F150
and really I don't know how I will do it.
I don't know how to pass the fields run on, identification customer to the formulaire for getting data for display?
notice in this moment I have letter displayed with the form sapscript Y_F150_DUNN_01, that I have to change the letter to a form with smartforms?Hi Mohamed,
because I did not believe SAP doesn't provide smartforms dunning I checked it.
In Customizing Financial Accounting->Accounts Receivable and Accounts Payable->Business Transactions->Dunning->Printout the documentation says "Note that you can define dunning forms using either SAPScript or SAP
Smart Forms."
The Docu for "Define Dunning Forms (with SAP Smart Forms)" explains how-to:
Requirements
The standard settings allow for creating dunning notices using
SAPScript. If you wish to print your dunning notices using SAP Smart
Forms, you must first define the corresponding function module.
1. In Customizing for Financial Accounting, choose Financial
Accounting Global Settings -> Business Transaction Events.
The SAP Business Framework screen appears.
2. Choose Settings -> P/S function modules -> ... of an SAP appl. .
3. Under the Business Transaction Event (BTE) "1720" with
application indicator FI-FI, change the function module in
FI_PRINT_DUNNING_NOTICE_SMARTF and save your entries.
SAP provides a predefined example form for dunning notices:
o F150_DUNN_SF
Activities
1. Make sure the function module FI_PRINT_DUNNING_NOTICE_SMARTF has
been defined (see above).
2. Create a dunning form or change the example form to meet your
requirements for the various dunning notices.
I checked it and it looks really easy!
Any quetsions? Feel free to ask.
Regards,
Clemens
P.S.: If you don't expect more answers, please close the thread. -
Hi Friends,
Hope doing great,
Here is my query on Smartform.
I am trying to print both japanese and english character in smartform output.
Plz help me on this if anybody face same kind problem.
Thaks In Advance
Mrutyun^Hi,
Create the Standard text with the Charecters you need to print in japanese and put the Launguage as Japanies, and create another standard text for english and put the launguage as English and write the Include statment in the Smartform
Regards
Sudheer -
Partial Pick Confirming Sales Order
Hi Folks,
I have a requirement where I have to Pick Confirm and Ship confirm Sales Order through API.
1. When the quantites to be picked are same as quantity ordered the code seems to work just fine.
But suppose in my example my quantity in SO line is 50 and I want to partially Ship confirm the lines lets say 20 quantites.
then which API i need to use?
The approach I am following is while pick confirming I am passing 20 quantites only and the ship confirming it.
I researched and found that we can use the following API to update shipping attributes 'WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes' but when I run it (I tried before and after Pick confirm) the API runs fine but no changes are getting affected and the code Pick confirms all the quantity.
Could some please help me with this.
Please find the codes for pick confirm and updating shipping attributes
Pick confirm code
DECLARE
lv_order_num number := 700145812;
vMoveOrderLineId NUMBER;
p_pick_conf_qty NUMBER;
pStatus VARCHAR2(100);
pMsgData VARCHAR2(4000);
v_movehdr_rec INV_MOVE_ORDER_PUB.TROHDR_REC_TYPE;
v_movehdr_val_rec INV_MOVE_ORDER_PUB.TROHDR_VAL_REC_TYPE;
v_moveln_tbl INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_tbl_p INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_zero_tbl INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_zero_tbl_p INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_tbl_d INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_tbl_o INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
v_moveln_val_tbl INV_MOVE_ORDER_PUB.TROLIN_VAL_TBL_TYPE;
v_mold_tbl INV_MO_LINE_DETAIL_UTIL.G_MMTT_TBL_TYPE;
v_mold_tbl_p INV_MO_LINE_DETAIL_UTIL.G_MMTT_TBL_TYPE;
l_mold_tbl INV_MO_LINE_DETAIL_UTIL.G_MMTT_TBL_TYPE;
l_moveln_tbl INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
l_trolin_rec INV_MOVE_ORDER_PUB.TROLIN_REC_TYPE;
l_trolin_tbl INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
l_return_status VARCHAR2(240);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000);
l_move_hdr_id NUMBER;
l_move_order_no NUMBER := 0;
v_return_values VARCHAR2(2000) := FND_API.G_TRUE;
v_move_hdr_rec INV_MOVE_ORDER_PUB.TROHDR_REC_TYPE;
v_move_hdr_val_rec INV_MOVE_ORDER_PUB.TROHDR_VAL_REC_TYPE;
v_api_pick_confirm NUMBER;
cv_fail VARCHAR2(100) := 'Fail';
cv_success VARCHAR2(100) := 'Success';
g_user_id number;
g_resp_id number;
g_resp_appl_id number;
p_user_name varchar2(100) := 'SYSADMIN';
p_resp_name varchar2(100) := 'Order Management Super User';
p_mo_apps varchar2(100) := 'ONT';
CURSOR c_mmtt_recs(vMoveOrderLineId NUMBER) IS
SELECT transaction_header_id,
transaction_temp_id,
source_code,
source_line_id,
transaction_mode,
lock_flag,
last_update_date,
last_updated_by,
creation_date,
created_by,
last_update_login,
request_id,
program_application_id,
program_id,
program_update_date,
inventory_item_id,
revision,
organization_id,
subinventory_code,
locator_id,
transaction_quantity,
primary_quantity,
transaction_uom,
transaction_cost,
transaction_type_id,
transaction_action_id,
transaction_source_type_id,
transaction_source_id,
transaction_source_name,
transaction_date,
acct_period_id,
distribution_account_id,
transaction_reference,
requisition_line_id,
requisition_distribution_id,
reason_id,
lot_number,
lot_expiration_date,
serial_number,
receiving_document,
demand_id,
rcv_transaction_id,
move_transaction_id,
completion_transaction_id,
wip_entity_type,
schedule_id,
repetitive_line_id,
employee_code,
primary_switch,
schedule_update_code,
setup_teardown_code,
item_ordering,
negative_req_flag,
operation_seq_num,
picking_line_id,
trx_source_line_id,
trx_source_delivery_id,
physical_adjustment_id,
cycle_count_id,
rma_line_id,
customer_ship_id,
currency_code,
currency_conversion_rate,
currency_conversion_type,
currency_conversion_date,
ussgl_transaction_code,
vendor_lot_number,
encumbrance_account,
encumbrance_amount,
ship_to_location,
shipment_number,
transfer_cost,
transportation_cost,
transportation_account,
freight_code,
containers,
waybill_airbill,
expected_arrival_date,
transfer_subinventory,
transfer_organization,
transfer_to_location,
new_average_cost,
value_change,
percentage_change,
material_allocation_temp_id,
demand_source_header_id,
demand_source_line,
demand_source_delivery,
item_segments,
item_description,
item_trx_enabled_flag,
item_location_control_code,
item_restrict_subinv_code,
item_restrict_locators_code,
item_revision_qty_control_code,
item_primary_uom_code,
item_uom_class,
item_shelf_life_code,
item_shelf_life_days,
item_lot_control_code,
item_serial_control_code,
item_inventory_asset_flag,
allowed_units_lookup_code,
department_id,
department_code,
wip_supply_type,
supply_subinventory,
supply_locator_id,
valid_subinventory_flag,
valid_locator_flag,
locator_segments,
current_locator_control_code,
number_of_lots_entered,
wip_commit_flag,
next_lot_number,
lot_alpha_prefix,
next_serial_number,
serial_alpha_prefix,
shippable_flag,
posting_flag,
required_flag,
process_flag,
error_code,
error_explanation,
attribute_category,
attribute1,
attribute2,
attribute3,
attribute4,
attribute5,
attribute6,
attribute7,
attribute8,
attribute9,
attribute10,
attribute11,
attribute12,
attribute13,
attribute14,
attribute15,
movement_id,
reservation_quantity,
shipped_quantity,
transaction_line_number,
task_id,
to_task_id,
source_task_id,
project_id,
source_project_id,
pa_expenditure_org_id,
to_project_id,
expenditure_type,
final_completion_flag,
transfer_percentage,
transaction_sequence_id,
material_account,
material_overhead_account,
resource_account,
outside_processing_account,
overhead_account,
flow_schedule,
cost_group_id,
demand_class,
qa_collection_id,
kanban_card_id,
overcompletion_transaction_id,
overcompletion_primary_qty,
overcompletion_transaction_qty,
end_item_unit_number,
scheduled_payback_date,
line_type_code,
parent_transaction_temp_id,
put_away_strategy_id,
put_away_rule_id,
pick_strategy_id,
pick_rule_id,
common_bom_seq_id,
common_routing_seq_id,
cost_type_id,
org_cost_group_id,
move_order_line_id,
task_group_id,
pick_slip_number,
reservation_id,
transaction_status,
transfer_cost_group_id,
lpn_id,
transfer_lpn_id,
pick_slip_date,
content_lpn_id
FROM MTL_MATERIAL_TRANSACTIONS_TEMP
WHERE move_order_line_id = vMoveOrderLineId;
l_moveln_fidx NUMBER;
l_moveln_lidx NUMBER;
n_mvln_cntr NUMBER;
l_Index NUMBER := 1;
v_records_in_mmtt NUMBER := 0;
REC C_MMTT_RECS%ROWTYPE;
BEGIN
select user_id
into g_user_id
from fnd_user
where user_name = p_user_name;
select responsibility_id, application_id
into g_resp_id, g_resp_appl_id
from apps.fnd_responsibility_vl
where responsibility_name = p_resp_name;
Apps.FND_Global.Apps_Initialize(g_user_id, g_resp_id, g_resp_appl_id);
MO_GLOBAL.INIT(p_mo_apps);
for mol in (select wda.delivery_id,
wda.delivery_detail_id,
wda.parent_delivery_detail_id,
wdd.source_code,
wdd.inventory_item_id,
wdd.organization_id,
wdd.ship_from_location_id,
wdd.ship_to_location_id,
wdd.requested_quantity,
wdd.requested_quantity_uom,
wdd.move_order_line_id,
wdd.org_id,
mtrl.quantity,
mtrl.quantity_delivered
from wsh_delivery_details wdd,
wsh_delivery_assignments wda,
oe_order_lines_all ol,
oe_order_headers_all oh,
mtl_txn_request_lines mtrl,
mtl_txn_request_headers mtrh
where wdd.source_line_id = ol.line_id
and wdd.delivery_detail_id = wda.delivery_detail_id
and ol.header_id = oh.header_id
and wdd.move_order_line_id = mtrl.line_id(+)
and mtrl.header_id = mtrh.header_id(+)
and oh.order_number = lv_order_num) loop
vMoveOrderLineId := mol.move_order_line_id;
p_pick_conf_qty := mol.quantity - nvl(mol.quantity_delivered,0);
SELECT COUNT(move_order_line_id)
INTO v_records_in_mmtt
FROM MTL_MATERIAL_TRANSACTIONS_TEMP
WHERE move_order_line_id = vMoveOrderLineId;
IF v_records_in_mmtt > 1 THEN
pStatus := cv_fail;
pMsgData := 'Wrong number of records in MMTT for the MOVE_ORDER_LINE_ID : ' ||
vMoveOrderLineId;
DBMS_OUTPUT.PUT_LINE('Multiple records in MMTT for move_order_line_id = ' ||
vMoveOrderLineId);
v_api_pick_confirm := 0;
GOTO end_of_pkcnf;
ELSIF v_records_in_mmtt = 0 THEN
--means that the delivery is already pick confirmed
pStatus := cv_success;
DBMS_OUTPUT.PUT_LINE('No records in MMTT for move_order_line_id = ' ||
vMoveOrderLineId ||
' hence it is already pick confirmed');
v_api_pick_confirm := 0;
GOTO end_of_pkcnf;
END IF;
SELECT mtrh.header_id, mtrh.request_number
INTO l_move_hdr_id, l_move_order_no
FROM mtl_txn_request_headers mtrh, mtl_txn_request_lines mtrl
WHERE mtrh.header_id = mtrl.header_id
AND mtrl.line_id = vMoveOrderLineId;
DBMS_OUTPUT.PUT_LINE('Obtained MTRH.HEADER_ID = ' || l_move_hdr_id ||
' MTRH.REQUEST_NUMBER = ' || l_move_order_no ||
' for move_order_line_id = ' || vMoveOrderLineId);
INV_MOVE_ORDER_PUB.GET_MOVE_ORDER(p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_return_values => v_return_values,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_header_id => l_move_hdr_id,
p_header => l_move_order_no,
x_trohdr_rec => v_move_hdr_rec,
x_trohdr_val_rec => v_move_hdr_val_rec,
x_trolin_tbl => v_moveln_tbl,
x_trolin_val_tbl => v_moveln_val_tbl);
COMMIT;
DBMS_OUTPUT.PUT_LINE('Return status of INV_MOVE_ORDER_PUB.GET_MOVE_ORDER = ' ||
l_return_status);
IF l_return_status != FND_API.G_RET_STS_SUCCESS THEN
pStatus := cv_fail;
pMsgData := 'Failed to get move order inv_move_order_pub.get_move_order for MOVE_ORDER_LINE_ID : ' ||
vMoveOrderLineId;
GOTO end_of_pkcnf;
END IF;
OPEN c_mmtt_recs(vMoveOrderLineId);
FETCH c_mmtt_recs
INTO rec;
CLOSE c_mmtt_recs;
v_mold_tbl(1).transaction_header_id := rec.transaction_header_id;
v_mold_tbl(1).transaction_temp_id := rec.transaction_temp_id;
v_mold_tbl(1).source_code := rec.source_code;
v_mold_tbl(1).source_line_id := rec.source_line_id;
v_mold_tbl(1).transaction_mode := rec.transaction_mode;
v_mold_tbl(1).lock_flag := rec.lock_flag;
v_mold_tbl(1).last_update_date := rec.last_update_date;
v_mold_tbl(1).last_updated_by := rec.last_updated_by;
v_mold_tbl(1).creation_date := rec.creation_date;
v_mold_tbl(1).created_by := rec.created_by;
v_mold_tbl(1).last_update_login := rec.last_update_login;
v_mold_tbl(1).request_id := rec.request_id;
v_mold_tbl(1).program_application_id := rec.program_application_id;
v_mold_tbl(1).program_id := rec.program_id;
v_mold_tbl(1).program_update_date := rec.program_update_date;
v_mold_tbl(1).inventory_item_id := rec.inventory_item_id;
v_mold_tbl(1).revision := rec.revision;
v_mold_tbl(1).organization_id := rec.organization_id;
v_mold_tbl(1).subinventory_code := rec.subinventory_code;
v_mold_tbl(1).locator_id := rec.locator_id;
v_mold_tbl(1).transaction_quantity := rec.transaction_quantity;
v_mold_tbl(1).primary_quantity := rec.primary_quantity;
v_mold_tbl(1).transaction_uom := rec.transaction_uom;
v_mold_tbl(1).transaction_cost := rec.transaction_cost;
v_mold_tbl(1).transaction_type_id := rec.transaction_type_id;
v_mold_tbl(1).transaction_action_id := rec.transaction_action_id;
v_mold_tbl(1).transaction_source_type_id := rec.transaction_source_type_id;
v_mold_tbl(1).transaction_source_id := rec.transaction_source_id;
v_mold_tbl(1).transaction_source_name := rec.transaction_source_name;
v_mold_tbl(1).transaction_date := rec.transaction_date;
v_mold_tbl(1).acct_period_id := rec.acct_period_id;
v_mold_tbl(1).distribution_account_id := rec.distribution_account_id;
v_mold_tbl(1).transaction_reference := rec.transaction_reference;
v_mold_tbl(1).requisition_line_id := rec.requisition_line_id;
v_mold_tbl(1).requisition_distribution_id := rec.requisition_distribution_id;
v_mold_tbl(1).reason_id := rec.reason_id;
v_mold_tbl(1).lot_number := rec.lot_number;
v_mold_tbl(1).lot_expiration_date := rec.lot_expiration_date;
v_mold_tbl(1).serial_number := rec.serial_number;
v_mold_tbl(1).receiving_document := rec.receiving_document;
v_mold_tbl(1).demand_id := rec.demand_id;
v_mold_tbl(1).rcv_transaction_id := rec.rcv_transaction_id;
v_mold_tbl(1).move_transaction_id := rec.move_transaction_id;
v_mold_tbl(1).completion_transaction_id := rec.completion_transaction_id;
v_mold_tbl(1).wip_entity_type := rec.wip_entity_type;
v_mold_tbl(1).schedule_id := rec.schedule_id;
v_mold_tbl(1).repetitive_line_id := rec.repetitive_line_id;
v_mold_tbl(1).employee_code := rec.employee_code;
v_mold_tbl(1).primary_switch := rec.primary_switch;
v_mold_tbl(1).schedule_update_code := rec.schedule_update_code;
v_mold_tbl(1).setup_teardown_code := rec.setup_teardown_code;
v_mold_tbl(1).item_ordering := rec.item_ordering;
v_mold_tbl(1).negative_req_flag := rec.negative_req_flag;
v_mold_tbl(1).operation_seq_num := rec.operation_seq_num;
v_mold_tbl(1).picking_line_id := rec.picking_line_id;
v_mold_tbl(1).trx_source_line_id := rec.trx_source_line_id;
v_mold_tbl(1).trx_source_delivery_id := rec.trx_source_delivery_id;
v_mold_tbl(1).physical_adjustment_id := rec.physical_adjustment_id;
v_mold_tbl(1).cycle_count_id := rec.cycle_count_id;
v_mold_tbl(1).rma_line_id := rec.rma_line_id;
v_mold_tbl(1).customer_ship_id := rec.customer_ship_id;
v_mold_tbl(1).currency_code := rec.currency_code;
v_mold_tbl(1).currency_conversion_rate := rec.currency_conversion_rate;
v_mold_tbl(1).currency_conversion_type := rec.currency_conversion_type;
v_mold_tbl(1).currency_conversion_date := rec.currency_conversion_date;
v_mold_tbl(1).ussgl_transaction_code := rec.ussgl_transaction_code;
v_mold_tbl(1).vendor_lot_number := rec.vendor_lot_number;
v_mold_tbl(1).encumbrance_account := rec.encumbrance_account;
v_mold_tbl(1).encumbrance_amount := rec.encumbrance_amount;
v_mold_tbl(1).ship_to_location := rec.ship_to_location;
v_mold_tbl(1).shipment_number := rec.shipment_number;
v_mold_tbl(1).transfer_cost := rec.transfer_cost;
v_mold_tbl(1).transportation_cost := rec.transportation_cost;
v_mold_tbl(1).transportation_account := rec.transportation_account;
v_mold_tbl(1).freight_code := rec.freight_code;
v_mold_tbl(1).containers := rec.containers;
v_mold_tbl(1).waybill_airbill := rec.waybill_airbill;
v_mold_tbl(1).expected_arrival_date := rec.expected_arrival_date;
v_mold_tbl(1).transfer_subinventory := rec.transfer_subinventory;
v_mold_tbl(1).transfer_organization := rec.transfer_organization;
v_mold_tbl(1).transfer_to_location := rec.transfer_to_location;
v_mold_tbl(1).new_average_cost := rec.new_average_cost;
v_mold_tbl(1).value_change := rec.value_change;
v_mold_tbl(1).percentage_change := rec.percentage_change;
v_mold_tbl(1).material_allocation_temp_id := rec.material_allocation_temp_id;
v_mold_tbl(1).demand_source_header_id := rec.demand_source_header_id;
v_mold_tbl(1).demand_source_line := rec.demand_source_line;
v_mold_tbl(1).demand_source_delivery := rec.demand_source_delivery;
v_mold_tbl(1).item_segments := rec.item_segments;
v_mold_tbl(1).item_description := rec.item_description;
v_mold_tbl(1).item_trx_enabled_flag := rec.item_trx_enabled_flag;
v_mold_tbl(1).item_location_control_code := rec.item_location_control_code;
v_mold_tbl(1).item_restrict_subinv_code := rec.item_restrict_subinv_code;
v_mold_tbl(1).item_restrict_locators_code := rec.item_restrict_locators_code;
v_mold_tbl(1).item_revision_qty_control_code := rec.item_revision_qty_control_code;
v_mold_tbl(1).item_primary_uom_code := rec.item_primary_uom_code;
v_mold_tbl(1).item_uom_class := rec.item_uom_class;
v_mold_tbl(1).item_shelf_life_code := rec.item_shelf_life_code;
v_mold_tbl(1).item_shelf_life_days := rec.item_shelf_life_days;
v_mold_tbl(1).item_lot_control_code := rec.item_lot_control_code;
v_mold_tbl(1).item_serial_control_code := rec.item_serial_control_code;
v_mold_tbl(1).item_inventory_asset_flag := rec.item_inventory_asset_flag;
v_mold_tbl(1).allowed_units_lookup_code := rec.allowed_units_lookup_code;
v_mold_tbl(1).department_id := rec.department_id;
v_mold_tbl(1).department_code := rec.department_code;
v_mold_tbl(1).wip_supply_type := rec.wip_supply_type;
v_mold_tbl(1).supply_subinventory := rec.supply_subinventory;
v_mold_tbl(1).supply_locator_id := rec.supply_locator_id;
v_mold_tbl(1).valid_subinventory_flag := rec.valid_subinventory_flag;
v_mold_tbl(1).valid_locator_flag := rec.valid_locator_flag;
v_mold_tbl(1).locator_segments := rec.locator_segments;
v_mold_tbl(1).current_locator_control_code := rec.current_locator_control_code;
v_mold_tbl(1).number_of_lots_entered := rec.number_of_lots_entered;
v_mold_tbl(1).wip_commit_flag := rec.wip_commit_flag;
v_mold_tbl(1).next_lot_number := rec.next_lot_number;
v_mold_tbl(1).lot_alpha_prefix := rec.lot_alpha_prefix;
v_mold_tbl(1).next_serial_number := rec.next_serial_number;
v_mold_tbl(1).serial_alpha_prefix := rec.serial_alpha_prefix;
v_mold_tbl(1).shippable_flag := rec.shippable_flag;
v_mold_tbl(1).posting_flag := rec.posting_flag;
v_mold_tbl(1).required_flag := rec.required_flag;
v_mold_tbl(1).process_flag := rec.process_flag;
v_mold_tbl(1).error_code := rec.error_code;
v_mold_tbl(1).error_explanation := rec.error_explanation;
v_mold_tbl(1).attribute_category := rec.attribute_category;
v_mold_tbl(1).attribute1 := rec.attribute1;
v_mold_tbl(1).attribute2 := rec.attribute2;
v_mold_tbl(1).attribute3 := rec.attribute3;
v_mold_tbl(1).attribute4 := rec.attribute4;
v_mold_tbl(1).attribute5 := rec.attribute5;
v_mold_tbl(1).attribute6 := rec.attribute6;
v_mold_tbl(1).attribute7 := rec.attribute7;
v_mold_tbl(1).attribute8 := rec.attribute8;
v_mold_tbl(1).attribute9 := rec.attribute9;
v_mold_tbl(1).attribute10 := rec.attribute10;
v_mold_tbl(1).attribute11 := rec.attribute11;
v_mold_tbl(1).attribute12 := rec.attribute12;
v_mold_tbl(1).attribute13 := rec.attribute13;
v_mold_tbl(1).attribute14 := rec.attribute14;
v_mold_tbl(1).attribute15 := rec.attribute15;
v_mold_tbl(1).movement_id := rec.movement_id;
v_mold_tbl(1).reservation_quantity := rec.reservation_quantity;
v_mold_tbl(1).shipped_quantity := rec.shipped_quantity;
v_mold_tbl(1).transaction_line_number := rec.transaction_line_number;
v_mold_tbl(1).task_id := rec.task_id;
v_mold_tbl(1).to_task_id := rec.to_task_id;
v_mold_tbl(1).source_task_id := rec.source_task_id;
v_mold_tbl(1).project_id := rec.project_id;
v_mold_tbl(1).source_project_id := rec.source_project_id;
v_mold_tbl(1).pa_expenditure_org_id := rec.pa_expenditure_org_id;
v_mold_tbl(1).to_project_id := rec.to_project_id;
v_mold_tbl(1).expenditure_type := rec.expenditure_type;
v_mold_tbl(1).final_completion_flag := rec.final_completion_flag;
v_mold_tbl(1).transfer_percentage := rec.transfer_percentage;
v_mold_tbl(1).transaction_sequence_id := rec.transaction_sequence_id;
v_mold_tbl(1).material_account := rec.material_account;
v_mold_tbl(1).material_overhead_account := rec.material_overhead_account;
v_mold_tbl(1).resource_account := rec.resource_account;
v_mold_tbl(1).outside_processing_account := rec.outside_processing_account;
v_mold_tbl(1).overhead_account := rec.overhead_account;
v_mold_tbl(1).flow_schedule := rec.flow_schedule;
v_mold_tbl(1).cost_group_id := rec.cost_group_id;
v_mold_tbl(1).demand_class := rec.demand_class;
v_mold_tbl(1).qa_collection_id := rec.qa_collection_id;
v_mold_tbl(1).kanban_card_id := rec.kanban_card_id;
v_mold_tbl(1).overcompletion_transaction_id := rec.overcompletion_transaction_id;
v_mold_tbl(1).overcompletion_primary_qty := rec.overcompletion_primary_qty;
v_mold_tbl(1).overcompletion_transaction_qty := rec.overcompletion_transaction_qty;
v_mold_tbl(1).end_item_unit_number := rec.end_item_unit_number;
v_mold_tbl(1).scheduled_payback_date := rec.scheduled_payback_date;
v_mold_tbl(1).line_type_code := rec.line_type_code;
v_mold_tbl(1).parent_transaction_temp_id := rec.parent_transaction_temp_id;
v_mold_tbl(1).put_away_strategy_id := rec.put_away_strategy_id;
v_mold_tbl(1).put_away_rule_id := rec.put_away_rule_id;
v_mold_tbl(1).pick_strategy_id := rec.pick_strategy_id;
v_mold_tbl(1).pick_rule_id := rec.pick_rule_id;
v_mold_tbl(1).common_bom_seq_id := rec.common_bom_seq_id;
v_mold_tbl(1).common_routing_seq_id := rec.common_routing_seq_id;
v_mold_tbl(1).cost_type_id := rec.cost_type_id;
v_mold_tbl(1).org_cost_group_id := rec.org_cost_group_id;
v_mold_tbl(1).move_order_line_id := rec.move_order_line_id;
v_mold_tbl(1).task_group_id := rec.task_group_id;
v_mold_tbl(1).pick_slip_number := rec.pick_slip_number;
v_mold_tbl(1).reservation_id := rec.reservation_id;
v_mold_tbl(1).transaction_status := rec.transaction_status;
v_mold_tbl(1).transfer_cost_group_id := rec.transfer_cost_group_id;
v_mold_tbl(1).lpn_id := rec.lpn_id;
v_mold_tbl(1).transfer_lpn_id := rec.transfer_lpn_id;
v_mold_tbl(1).pick_slip_date := rec.pick_slip_date;
v_mold_tbl(1).content_lpn_id := rec.content_lpn_id;
v_mold_tbl(1).transaction_quantity := p_pick_conf_qty;
v_mold_tbl(1).primary_quantity := p_pick_conf_qty;
v_mold_tbl(1).shipped_quantity := p_pick_conf_qty;
INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM(p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_move_order_type => 3 -- PickWave - Order
p_transaction_mode => 1 -- 1:On-Line, 2:Concurrent, 3:Background
p_trolin_tbl => v_moveln_tbl_d,
p_mold_tbl => v_mold_tbl,
x_mmtt_tbl => v_mold_tbl,
x_trolin_tbl => v_moveln_tbl_o,
p_transaction_date => SYSDATE);
COMMIT;
DBMS_OUTPUT.PUT_LINE('Return status of INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM = ' ||
l_return_status);
IF l_return_status != FND_API.G_RET_STS_SUCCESS THEN
pStatus := cv_fail;
pMsgData := 'Failed to pick confirm move order inv_pick_wave_pick_confirm_pub.pick_confirm for MOVE_ORDER_LINE_ID : ' ||
vMoveOrderLineId;
GOTO end_of_pkcnf;
END IF;
v_api_pick_confirm := 1;
dbms_output.put_line('Status of the Pick Confirm is : ' ||
l_return_status);
<<end_of_pkcnf>>
NULL;
end loop;
END;
Updating Shipping attributes
DECLARE
--Standard Parameters.
p_api_version NUMBER;
init_msg_list VARCHAR2(30);
p_commit VARCHAR2(30);
--Parameters for WSH_DELIVERY_DETAILS_PUB.update_shipping_attributes.
source_code VARCHAR2(15);
changed_attributes WSH_DELIVERY_DETAILS_PUB.ChangedAttributeTabType;
--out parameters
x_return_status VARCHAR2(10);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
x_msg_details VARCHAR2(3000);
x_msg_summary VARCHAR2(3000);
-- Handle exceptions
vApiErrorException EXCEPTION;
BEGIN
-- Initialize return status
x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
-- Call this procedure to initialize applications parameters
FND_GLOBAL.APPS_INITIALIZE(user_id => 0,
resp_id => 21623,
resp_appl_id => 660);
source_code := 'OE';
changed_attributes(1).delivery_detail_id := 9317811; -- delivery_detail_id
changed_attributes(1).shipped_quantity := 0; -- quantity to update
changed_attributes(1).cycle_count_quantity := 30;
--Call to WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes.
WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes(p_api_version_number => 1.0,
p_init_msg_list => init_msg_list,
p_commit => p_commit,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_changed_attributes => changed_attributes,
p_source_code => source_code);
commit;
IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
RAISE vApiErrorException;
ELSE
dbms_output.put_line('The shipped quantity is updated with ' ||
changed_attributes(1)
.shipped_quantity || ' for the delivery detail ' ||
changed_attributes(1).delivery_detail_id);
END IF;
EXCEPTION
WHEN vApiErrorException THEN
WSH_UTIL_CORE.get_messages('Y',
x_msg_summary,
x_msg_details,
x_msg_count);
IF x_msg_count > 1 THEN
x_msg_data := x_msg_summary || x_msg_details;
DBMS_OUTPUT.PUT_LINE('Message Data : ' || x_msg_data);
ELSE
x_msg_data := x_msg_summary;
DBMS_OUTPUT.PUT_LINE('Message Data : ' || x_msg_data);
END IF;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unexpected Error: ' || SQLERRM);
END;
ThanksHi,
Goto VTFL.Select you valid combination.
Click on item.Select yout item category there.Goto details.
Select the Pos/neg quantity field as "+".
Maintain the billing quantity as "A".
Maintain VBRK/VBRP as "001".
Save.
Goto VOV7 and select your item category.Details.
Select completion rule as "B" and billing relevance as "F".
Save.
Pls go through the follwing threads that are posted by me earlier.
[Invoice split|Re: Invoice split]
[Splitiing of invoice|Re: Invoice split]
Regards,
Krishna. -
Is there any way to prevent users from ship confirming on a particular date?
Hello All,
We have a requirement to prevent users from ship confirming on a particular date. This is due to they are performing Annual Physical Inventory.
Is it possible to restrict users performing shipping transactions on this particular date?
I have tried adding exception to the existing Calendar set at org level and there is no customer specific Calendar defined, however it is still allowing me to perform ship confirm.
Please let me know if you have any suggestion on this requirement.
ThanksHi,
Yes is Possible.
You can add An Exception in Your Shipping Calender.
So when Some one tries to ship an Order on that date Oracle will automatically select Next possible date.
Thanks
Shameer -
Purchase to Order Scenario - Partial Confirmation Issue
Hello Team,
We are using Item Category with Purchase to Order Scenario. When the Sales Order is booked, Purchase Requisition is Created. Sales Order Line is linked to the Purchase Requision/Purchase Order.
In this scenario, we are getting confirmation on Sales Order through PR/PO Initially.
Order Quantity Confirmed Quantity
10 10
Once we receive partial confirmation on PO let us say 7 system only confirms partially Sales Order.
Order Quantity Confirmed Quantity
10 7
Issue happens when our team does partial delivery to customer before receiving full confirmation from the Supplier. System blocks further update of confirmation on the line and it becomes impossible to make delivery to Customer for Partial Quantity.
I can think of two options...
1. Somehow when we receive Partial Cofnirmation, our Availibility Check should confirm 7 on Confirmation recieved from the Supplier and 3 from Delivery Date of Purchase Order. So this issue won't happen.
2. System should somehow allow Partial Confirmation even after Partial Delivery is done to the Customer.
Do let me know if you need any more details from my side.
KaushalHi Kaushal,
i assume that you have special stock indicator in your sales order.
if you do not use confiramtion then all quantities are confirmed at schedule line level.
if you use confirmation e.x. 7 of 10 pieces then you will have confirmer 7 quantities in your schedule line.
if you create another confirmation in PO of 2 pieces and lets say different date you will see another schedule line in your sales order.
do your system works like this?
Is your third party scenario require a googds receipt for PO to move on to delivery?
Regards. -
What are the different Smartforms available for customer letters
Hi Gurus,
what are the standard layout sets available in Smartforms?.. How can I modify them.
I would like to find out the particular smartform in the domain of QM.
I am trying to generate a customer letter in smartforms with the sold-to-party details on top and the material he ordered in the body of the letter with other details like the quality process which we used and also I want to generate this form in .pdf and .doc formats for printing and faxing aswell.
Please help me in this issue.
Thanks in Advance.
Kind Regards,
PraveenHi Praveen,
for generating a standard type smartform u can find them in TNAPR table entries. but if u wanna have a customised SF then u have to create it.
for converting SF to PDF
first convert the smartform output which is in rtf format to otf format using covert_otf FM then use FM convert to PDF and then use Fm API_SEND to send it as a mail..
the following code can be applied...partly the logic is right and not all the code.
TABLES: zKTREE_t1,sflight.
DATA: cparam TYPE ssfctrlop,
outop TYPE ssfcompop,
fm_name TYPE rs38l_fnam,
my_tabix TYPE sy-tabix,
file_size TYPE i,
bin_filesize TYPE i.
DATA: tab_otf_data TYPE ssfcrescl,
pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
itab LIKE TABLE OF zshail_t1 WITH HEADER LINE,
otab TYPE TABLE OF sflight WITH HEADER LINE,
tab_otf_final TYPE itcoo OCCURS 0 WITH HEADER LINE.
start-of-selection.
suppressing the dialog box****************************
outop-tddest = 'LP01'.
cparam-no_dialog = 'X'.
cparam-preview = space.
cparam-getotf = 'X'.
****************for the first smartform*******************************
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZSHAIL_SMFORM2'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SELECT my_id my_income my_name FROM zshail_t1 INTO TABLE itab.
CALL FUNCTION fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
control_parameters = cparam
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
output_options = outop
user_settings = space
IMPORTING
DOCUMENT_OUTPUT_INFO =
job_output_info = tab_otf_data
JOB_OUTPUT_OPTIONS =
TABLES
it_tab = itab[]
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*********appending the otf data into the final table*********************
tab_otf_final[] = tab_otf_data-otfdata[].
**removing the initial and final markers from the OTF data*********
DELETE tab_otf_data-otfdata WHERE tdprintcom = '//'.
searching for the end-of-page in OTF table************
READ TABLE tab_otf_final WITH KEY tdprintcom = 'EP'.
my_tabix = sy-tabix + 1.
appending the modified OTF table to the final OTF table****
INSERT LINES OF tab_otf_data-otfdata INTO tab_otf_final INDEX my_tabix.
finally call the Fm SO_NEW_DOCUMENT_ATT_SEND_API1
to send as email for this u need to populate the reciepent fields properly
g_cont_par-device = 'MAIL'.
Get BOR-Objects for Recipient, Sender und Applikation
PERFORM mail_recipient_object CHANGING g_mail_rec_obj.
PERFORM mail_sender_object CHANGING g_mail_sen_obj.
PERFORM mail_appl_object CHANGING g_mail_app_obj.
Calling Smartform
CALL FUNCTION fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
control_parameters = g_cont_par
mail_appl_obj = g_mail_app_obj
mail_recipient = g_mail_rec_obj
mail_sender = g_mail_sen_obj
output_options = g_output
user_settings = ' '
IMPORTING
... rest of function ...
Here are the Forms:
*& Form mail_recipient_object
text
<--P_G_MAIL_REC_OBJ text
FORM mail_recipient_object CHANGING p_mail_rec_obj.
CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'
EXPORTING
IP_COUNTRY =
IP_FAXNO =
ip_mailaddr = g_mail "g_mail type
"SO_NAME.
ip_type_id = g_rectype " 'U'
IMPORTING
ep_recipient_id = p_mail_rec_obj
EP_ADDRESS =
ET_RECIPIENT =
EXCEPTIONS
invalid_recipient = 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. " mail_recipient_object
*& Form mail_sender_object
text
<--P_G_MAIL_SEN_OBJ text
FORM mail_sender_object CHANGING p_mail_sen_obj.
CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'
EXPORTING
ip_sender = sy-uname
IMPORTING
ep_sender_id = p_mail_sen_obj
EXCEPTIONS
invalid_sender = 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. " mail_sender_object
*& Form mail_appl_object
text
<--P_G_MAIL_APP_OBJ text
FORM mail_appl_object CHANGING p_mail_app_obj.
SELECT * FROM soud WHERE sapnam LIKE sy-uname AND deleted = ' '.
ENDSELECT.
IF sy-subrc NE 0.
CALL FUNCTION 'SO_USER_AUTOMATIC_INSERT'
EXPORTING
sapname = sy-uname
EXCEPTIONS
no_insert = 1
sap_name_exist = 2
x_error = 3
OTHERS = 4.
IF sy-subrc NE 0.
CLEAR soud.
ELSE.
SELECT * FROM soud WHERE sapnam LIKE sy-uname AND deleted = ' '.
ENDSELECT.
ENDIF.
ENDIF.
CLEAR sofmfol_key.
sofmfol_key-type = 'FOL'.
sofmfol_key-year = soud-inbyr.
sofmfol_key-number = soud-inbno.
bor_key = sofmfol_key.
IF NOT bor_key IS INITIAL.
swc_create_object folder 'SOFMFOL' bor_key.
IF sy-subrc = 0.
swc_object_to_persistent folder p_mail_app_obj.
IF sy-subrc NE 0.
CLEAR p_mail_app_obj.
ENDIF.
ENDIF.
ELSE.
CLEAR p_mail_app_obj.
ENDIF.
ENDFORM. " mail_appl_object
Message was edited by:
Durgaprasad Kare
Message was edited by:
Durgaprasad Kare -
Document not found to confirm against a Purchase Order
Hi all,
I have been experiencing some issues with confirmation in SRM. We are in SRM5.0 Extended Classic on SPack 15. Lately the system is acting strangely or probably I am missing something that all POs initiated from Shopping cart or emergency PO in SRM are being ordered correctly and a copy is being seen in ECC as well. But when I try to do confirmation against the PO in SRM, I dont find the document. I dont get any error message but cannot find the document.
These are happening for most POs. I dont see errors in BBP_PD or Application monitor. I dont get any errors in BBP_POC and able to verify these POs are confirmation and Invoice expected (regular 3way match PO).
I appreciate if you could suggest what might be the issue and possible alternatives.
Thankyou
RaoHi Rao,
In reference to your message, it seems that this issue is not with all the P.Os and you can still do confirmations for many P.Os from SRM.
Is this issue occuring while posting a new confirmation for a P.O (i mean for the first confirmation of a new P.O) or while doing partial confirmations for existing P.Os which have already been confirmed.
Also let us know whether this issue occurs when posting confirmations for Service P.Os or Goods (free text) P.Os.
Please check the table BBP_DOCUMENT_TAB in case any entries exist for concerned P.Os.
In case entries exist for concerned P.Os then you need to remove /clear the entries from this table to post further confirmations. This table would have goods confirmations and not service ones.
You can use FM BBP_DELETE_FROM_DOCUMENT_TAB to delete / clear the concerned entries from the table BBP_DOCUMENT_TAB.
Before concluding just a basic check, which option you are using for posting confirmations ?
Try posting confirmations using Confirm Goods / services centrally option.
Please check the same and let us know the outcome to help you further in resolving this issue.
Regards,
Teja -
Inspection RR should be allowed for the operation confirmed qty only
Hi Friends
I have one requirement , Inspection results recording should be allowed for the operation confirmed qty only
i.e
1. Release Production Order for 100 qty
2. Inspection Lot created for 100 qty
3. Production Confirmation done for 1st operation for 50 qty
4. Next operation is testing or Quality inspection
5. Used 03 insp type(WIP inspection)
6. Result Recording should be allowed only for 50 Qty
7. If i go for 51, system should give message(i.e confirmation not done for 51)
8. Usage decision saved for 50 qty, Remaining 50 qty,we have to do separate RR & UD once confirmation done
Please let me know the settings,
Thanks & Regards
GajendranathHello Gajendra
Please find my inputs
1) PLease activate in OPK4 for the production order type these 3 setting
a) Operation sequence : Error when operation sequence is not followed
b) Overdelivery : Error when overdelivery tolerance is exceeded
c) Results Rec. (QM) : Error message if no insp. result exists
by doing this a) you make the sequence of operation mandatory. no body can confirm operation no 30 without confirming 10 & 20
b) if you have confirmed 50 in the first operation, you cannot confirm more than 50 in second operation
c) it will not allow you to confirm through C011n if the result recording is not done
2) Kindly understand for 03 inspection the lot quantity will be of 100 (PO quantity as in your case). so it is impossible to give UD for 50 quantity and then do the UD for the rest of the quantity.
UD is for the lot and not for the confirmed quantity. And please note for 03 inspection confirmation holds the importance rather than the UD
So use 03 for intend of its use
Regards
Gajesh -
Confirmation question - advice needed
Hi would just like some confirmation before i buy an airport express and can't seem to find this question directly answered.
Ok i have a cable modem that runs into the WAN port of a linksys router - which then connects up two pc's using standard RJ45 connections to the routers LAN ports. The pc's are static (immobile) and happy with the RJ45 connections
I also have a powerbook and have to connect an RJ45 from the router to use the Internet etc, but i want to be able to move around with the laptop. All pretty straightforward so far.
What i want to know is if I can take the RJ45 from teh router that was going to my mac and plug it into an airport express and then connect from the mac using wireless to the airport which is linked to the router?
I dont want the airport to do any routing or anything as there will only be one mac connecting via wireless and the Linksys router is handing out static IP address;s to the 3 machines on the network.
I just want it to pass the signal from my static - IP addressed mac to the main router without interfering - the Linksys Router is configured to portforward to the static IP address on the Mac so all the airport would do is bridge the wireless gap from router to my mac.
I assume i can do this but would just like to confirm. Please let me know if this is not the case. ThxTo elaborate on David's reply, you can turn off the router that's built into the Express (by turning off "Distribute IP addresses" using Airport Admin Utility) so that the unit acts as a simple Ethernet-to-wireless bridge. In fact, I have an Express doing exactly that, connected to a wired D-Link router. In addition, I have a second Express extending the range of the first and providing AirTunes streaming to my stereo.
-
Confirmation for submitted forms
When someone submits a form that was distributed to them via email, is there a way they can receive a confirmation message to let them know their form was received? Right now, individuals are left wondering...
If you submit to a server-side script, such as ASP.net or PHP, you can send the submission and respond with a FDF status message or redirect to a URL.
For online examples:
http://www.pdfemail.net/ -
Query: confirmation control key
Can anyone explain the importance of confirmation key in PO item?
I understand that in IMG, confirmation key can be configured so that it has a
sequence of confirmations. Please let me know its relevance in inbound delivery creation.
Thank youThe confirmation control key controls the the process subsequent to the creation of the PO.
E.g. For some important materials with long delivery times, you wish to receive advance information (via the shipping notification or inbound delivery) about the expected GR date so that you can include this information in the availability check.
To come to your question, if the inbound delivery is not allowed in the customizing of the Confirmation Control key, then it is not possible to create an inbound delivery for the PO, and you can only do the GR via MIGO or some other MM transaction. One impact of this is that between creation of the PO and the GR, you dont have any idea about where the material is, and when it will come.
I hope this clarifies,
Regards
Nikhilesh -
BoP is not giving partial confirmation
Dear Experts,
I have three sales orders of 80 qty each. I have stock of 100 qty and a purchase requsition of 100 qty. During SO entry, I got partial confirmation. Now using BOP i am redistributing confirmaiton based on delivery priority. But system is not giving partial confirmation.
For SO 1, it is showing full confirmaiton.
For SO 2, full confirmation but on PR date.
For So 3, no confirmaiton.
Whereas, SO 3 can still get 40 qty. I tried all possible combination, somehow BOP is not giving partial confirmation. Please let me know what setting do I need to change? I am on SCM 7.0.
Regards
RinjuHI Rinju,
You need to change your customizing in R/3. Goto transaction OVZJ and change the check rule to "E" for the corresponding sales org. Afterwards you have to trigger a update in the sales order e.g. run a new ATP check in VA02 and save the order. Due to this update the database tables in APO will be updated so that BOP can work now with the new result mode - Delivery proposal. The next BOP should be able to confirm partial deliveries then.
best regards,
Michael -
GATP : Loosing order confirmation
Hi,
I am facing a problem where I loose order confirmation for a line item with multiple schedule lines if I change one of the confirmed lines within the frozen period.
I understand GATP checks at item level. Then how to stop GATP not to check other schedule lines and check only the schedule line whose date is changed?
thanks in advance,
shanHi SHAN,
The Product Availability Checking Concept in APO is similar to that of R3.
Only that the GLOBAL AVAILABILITY CHECK in APO includes additional features as Product Allocation, Product Availability, Check against forecast, Rules Based ATP, Multi ATP etc.
Now when do we get multiple schedule lines:
On the Requested Delivery Date, if there is no stock available for a material
the confirmation falls on those dates on which there is stock expected.
EXAMPLE:
<b>MDO4 Screen:</b>
Material: xxxx, Plant: yyy
May 21, 2007: Stock: 0
May 23, 2007: PurchaseOrder - 10
May 24, 2007: Production Order: 10
Now when you place a sales order with a requested delivery date of May21, 2007 for 20 quantity. ( Say the Transit time =0 and there are no other sales orders placed for this material/plant)
You will see the following schedule lines
May 21, 2007: Confirmed Qty = 0
May 23,2007: Confirmed Qty=10
<b>May 24,2007: Confirmed Qty=10</b>
However say you had all the stock on May 23, 2007, you would have got only 2 schedule lines as follows
May 21, 2007: Confirmed Qty = 0
May 23,2007: Confirmed Qty=20
Lets think why this happens: The availability check is done against the SCOPE OF CHECK( Business Event-A and Availability Checking Group =xx on the material master) at the line item so that it checks all the incoming and outgoing receipts and requirements for the material in that plant and then arrives at the MATERIAL AVAILABILITY DATE which is determined according to the Stock Availability
The first schedule line is the date which you have requested the 20 quantity and the system gives you a confirmed qty for 0 on the date which you requested.
Now the other schedule lines are the confirmed dates which the system has proposed based on availability check.
Now coming to your question: When I change the date on one of the schedule lines
Say in this example: the third line which is bold
So in a way you are changing the DELIVERY DATE,
When you change the delivery date, availability check happens again at the line item and new schedule lines are determined.
The answer to your question- " Then how to stop GATP not to check other schedule lines and check only the schedule line whose date is changed?" is a BIG NO as it is against the AVAILABILITY CHECK Concept both in R3 as well as APO.
However I would not totally decline as there is nothing which we cannot do in SAP. With customizing(ABAP CODING) anything is possible. It would not be very easy and would you be willing to spend so much time.
If you have any other questions, please feel free to ask me.
Regards
Kumar Ayyagari
null -
Graphics-smartforms(urgent !)
Hi,
I'm developing a letter in smartforms. I need to print graphic (signature of HR)
inline with the text. For this I've included the statement:
BITMAP 'SIGN' OBJECT GRAPHICS ID BMAP TYPE BCOL DPI 100
in the textmodule, but it's not getting printed. How to print graphics inline with the text using textmodule or standard text? (I can't use graphics node here for some reasons)
regards,
ravi.
points will be given!Hi Ravi,
Create a graphic node in the smartform.and specify following :
Name - SIGN
Object - GRAPHICS
ID - BMAP
in the general attributes tab of the graphic u can specify the DPI count also.
Reward if useful.
Cheers,
Deepthee Kasal
Maybe you are looking for
-
I'm trying to use the MqSeries classes with JAVA. I put the import com.ibm.mq.* statement in my program but I get an error that the package does not exist. What folder should the MQ Classes be in? I am using JDK1.3.0_02. Thanks
-
Pics in iPhoto Disappeared after renaming iPhoto Library File in Finder
Friends, I was working on my parents computer in an effort to help them organize their files, etc. They have iPhoto 6 and I renamed the iPhoto Library folder in Finder. Obviously this is not a good idea since now there is no content (pictures) in iPh
-
Can I see my old messages on imessage?
I got a new ipod and I want to see my old messages from my other ipod. I am still using the same email, but I want to know if I can see my old messages.
-
How to compile opencl on mac 10.8.4 terminal.
How to compile opencl on mac 10.8.4 terminal. I have tired "gcc -o main main.c -framework OpenCL". It cannot work.
-
What is best password AP to sync with Imac (Snow Leopard)?
What is best password AP to sync with Imac (Snow Leopard)?