Update Product Assortment
ソフト制限:
- 分類あたりの最���商品数は、MaxNumberOfProductsPerAssortment に基づきます。デフォルト値は 10000 です。
- リソース
-
1UPDATE_PRODUCT_ASSORTMENT - 使用可能なバージョン
- 55.0
- Apex 要求の例
-
1String DEFAULT_JOBNAME = 'Update'; 2Integer DEFAULT_JOBTHREADS = 1; 3String DEFAULT_BATCHCHAIN = 'Assortment'; 4String DEFAULT_BATCHCHAINTYPE = 'paapla'; 5 6Id assortmentId = 'assortmentId1'; 7List<Map<String, Object>> papList = new List<Map<String, Object>>(); 8Set<Id> accountIds = new Set<Id>(); 9 10Assortment productAssortment = [ 11 SELECT Id, cgcloud__Sales_Org__c, cgcloud__Valid_From__c, cgcloud__Valid_Thru__c, cgcloud__Version__c 12 FROM Assortment 13 WHERE Id = :assortmentId 14 LIMIT 1 15]; 16 17for (AssortmentProduct pap : [SELECT ProductId, cgcloud__Valid_From__c, cgcloud__Valid_Thru__c FROM AssortmentProduct where AssortmentId =: assortmentId]) { 18 papList.add( 19 new Map<String, Object>{ 20 'sfid' => pap.ProductId, 21 'validfrom' => Datetime.newInstanceGmt(pap.cgcloud__Valid_From__c.year(), pap.cgcloud__Valid_From__c.month(), pap.cgcloud__Valid_From__c.day()).getTime(), 22 'validthru' => Datetime.newInstanceGmt(pap.cgcloud__Valid_Thru__c.year(), pap.cgcloud__Valid_Thru__c.month(), pap.cgcloud__Valid_Thru__c.day()).getTime() 23 } 24 ); 25} 26 27for ( 28 StoreAssortment customerProductAssortment : [ 29 SELECT Id, AccountId 30 FROM StoreAssortment 31 WHERE AssortmentId = :assortmentId 32] 33) { 34 accountIds.add(customerProductAssortment.AccountId); 35} 36 37 38String payload = JSON.serialize( 39 new Map<String, Object> { 40 'accountsfids' => accountIds, 41 'validfrom' => Datetime.newInstanceGmt(productAssortment.cgcloud__Valid_From__c.year(), productAssortment.cgcloud__Valid_From__c.month(), productAssortment.cgcloud__Valid_From__c.day()).getTime(), 42 'validthru' => Datetime.newInstanceGmt(productAssortment.cgcloud__Valid_Thru__c.year(), productAssortment.cgcloud__Valid_Thru__c.month(), productAssortment.cgcloud__Valid_Thru__c.day()).getTime(), 43 'version' => productAssortment.cgcloud__Version__c, 44 'salesorg' => productAssortment.cgcloud__Sales_Org__c, 45 'products' => papList, 46 'jobname' => DEFAULT_JOBNAME, 47 'jobthreads' => DEFAULT_JOBTHREADS, 48 'batchchain' => DEFAULT_BATCHCHAIN, 49 'batchchaintype' => DEFAULT_BATCHCHAINTYPE 50 } 51); 52 53<namespace>.OffplatformCallout request = new <namespace>.OffplatformCallout('UPDATE_PRODUCT_ASSORTMENT', productAssortment.cgcloud__Sales_Org__c); 54<namespace>.OffPlatformCalloutResponse response = request.execute( 55 <namespace>.TransactionHandler.getTransactionIdentifier(), 56 new Map<String, String>{'productassortmentid' => assortmentId}, 57 payload 58); 59 60System.debug(response.status);