Annual report pursuant to Section 13 and 15(d)

HEDGING TRANSACTIONS AND DERIVATIVE FINANCIAL INSTRUMENTS (Details 2)

v2.4.1.9
HEDGING TRANSACTIONS AND DERIVATIVE FINANCIAL INSTRUMENTS (Details 2) (USD $)
In Millions, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Cash Flow Hedges      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI $ 625us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
$ 441us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
$ 90us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) 50us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
167us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
(82)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
(2)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
2us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
Cash Flow Hedges | Interest rate contracts | Interest expense      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI (180)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
169us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
1us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) 0us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(12)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(12)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(3)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Cash Flow Hedges | Foreign currency contracts      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 13,224invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
8,450invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
 
Cash Flow Hedges | Foreign currency contracts | Net operating revenues      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI 973us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
218us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
59us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) 121us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
149us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
(46)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
1us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
2us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
Cash Flow Hedges | Foreign currency contracts | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI (218)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
   
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) (108)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
   
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
   
Cash Flow Hedges | Foreign currency contracts | Cost of goods sold      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI 50us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
52us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
34us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) 34us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
32us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(23)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Cash Flow Hedges | Interest rate swaps      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 4,328invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
1,828invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
 
Cash Flow Hedges | Commodity contracts      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 9invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
26invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
 
Cash Flow Hedges | Commodity contracts | Cost of goods sold      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in OCI 0us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
2us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(4)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Gain (Loss) Reclassified from AOCI into Income (Effective Portion) 3us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(2)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(1)us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
0us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_CashFlowHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Fair Value Hedges      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) (4)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
23us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
43us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
Fair Value Hedges | Interest expense      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 29us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
47us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
47us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Fair Value Hedges | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) (33)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(24)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(4)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Fair Value Hedges | Interest rate contracts | Interest expense      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 18us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(193)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
89us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Fair Value Hedges | Foreign currency contracts | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 132us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
24us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
42us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Fair Value Hedges | Available-for-Sale Securities      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 1,358invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
996invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
 
Fair Value Hedges | Available-for-Sale Securities | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) (165)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(48)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
(46)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_AvailableforsaleSecuritiesMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Fair Value Hedges | Interest rate swaps      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 6,600invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
5,600invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
 
Fair Value Hedges | Fixed Rate Debt | Interest expense      
Gains and (losses) related to derivative instruments      
Gain (Loss) Recognized in Income (Ineffective Portion and Amount Excluded from Effectiveness Testing) 11us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_DebtMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
240us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_DebtMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(42)us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_DebtMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_FairValueHedgingMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Net Investment Hedges | Foreign currency contracts      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 2,047invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_NetInvestmentHedgingMember
2,024invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_NetInvestmentHedgingMember
 
Gain (Loss) Recognized in OCI 80us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_NetInvestmentHedgingMember
61us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_NetInvestmentHedgingMember
(61)us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis
= us-gaap_NetInvestmentHedgingMember
Derivatives Not Designated as Hedging Instruments      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (163)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
111us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
(62)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
Derivatives Not Designated as Hedging Instruments | Foreign currency contracts      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 4,334invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
3,871invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
 
Derivatives Not Designated as Hedging Instruments | Foreign currency contracts | Net operating revenues      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (6)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
5us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
(7)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
Derivatives Not Designated as Hedging Instruments | Foreign currency contracts | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (85)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
162us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
24us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Derivatives Not Designated as Hedging Instruments | Foreign currency contracts | Cost of goods sold      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net 0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
2us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_ForeignExchangeContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Derivatives Not Designated as Hedging Instruments | Interest rate swaps | Interest expense      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net 0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
(3)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_InterestRateSwapMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_InterestExpenseMember
Derivatives Not Designated as Hedging Instruments | Commodity contracts      
Gains and (losses) related to derivative instruments      
Derivative, Notional Amount 816invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
1,441invest_DerivativeNotionalAmount
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
 
Derivatives Not Designated as Hedging Instruments | Commodity contracts | Net operating revenues      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (48)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
5us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
4us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_SalesMember
Derivatives Not Designated as Hedging Instruments | Commodity contracts | Cost of goods sold      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (8)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(122)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
(110)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_CostOfSalesMember
Derivatives Not Designated as Hedging Instruments | Commodity contracts | Selling, general and administrative expenses      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net (79)us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember
7us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember
9us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_CommodityContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember
Derivatives Not Designated as Hedging Instruments | Other Derivative Instruments | Other income (loss) - net      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net 39us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
0us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_OtherIncomeMember
Derivatives Not Designated as Hedging Instruments | Other Derivative Instruments | Selling, general and administrative expenses      
Gains and (losses) related to derivative instruments      
Derivative, Gain (Loss) on Derivative, Net $ 24us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember
$ 55us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember
$ 18us-gaap_DerivativeGainLossOnDerivativeNet
/ us-gaap_DerivativeInstrumentRiskAxis
= us-gaap_OtherContractMember
/ us-gaap_HedgingDesignationAxis
= us-gaap_NondesignatedMember
/ us-gaap_IncomeStatementLocationAxis
= us-gaap_GeneralAndAdministrativeExpenseMember